/** Shopify CDN: Minification failed

Line 2649:211 Unexpected "\\n"
Line 2649:308 Expected ":"
Line 2649:330 Expected ":"
Line 2649:364 Expected ":"
Line 2649:385 Expected ":"
Line 2649:413 Expected ":"
Line 2649:454 Expected ":"
Line 2649:481 Expected ":"
Line 2649:513 Expected ":"
Line 2649:546 Expected ":"
... and 7 more hidden warnings

**/
*, *::before, *::after { box-sizing: border-box; }
html { background: #000; }
html, body { margin: 0; min-height: 100%; }
body {
  background: var(--bt-bg, #000);
  color: var(--bt-text, #d0cdca);
  font-family: "Courier New", Courier, monospace;
  font-size: clamp(12px, 3.15vw, 16px);
  line-height: 1.22;
  letter-spacing: .025em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
button, input, textarea, select { font: inherit; letter-spacing: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
img { display: block; max-width: 100%; }
.bt-main { min-height: 100svh; }
.bt-shell { position: relative; width: 100%; min-height: 100svh; overflow: hidden; background: var(--bt-bg); }
.bt-wordmark {
  position: absolute;
  z-index: 20;
  top: 13.4svh;
  left: 32.6vw;
  color: var(--bt-brand);
  font-weight: 700;
  text-transform: none;
}
.bt-footer {
  position: absolute;
  z-index: 20;
  left: 19.7vw;
  bottom: 4.85svh;
  display: flex;
  align-items: center;
  gap: 5.3vw;
  white-space: nowrap;
}
.bt-footer a:hover, .bt-footer a:focus-visible,
.bt-home__menu > a:hover, .bt-home__menu > a:focus-visible,
.bt-page__menu a:hover, .bt-page__menu a:focus-visible,
.bt-archive__menu a:hover, .bt-archive__menu a:focus-visible { color: var(--bt-active); }
.is-active { color: var(--bt-active) !important; }
.bt-skip { position: fixed; left: 8px; top: -100px; z-index: 999; background: #fff; color: #000; padding: 8px; }
.bt-skip:focus { top: 8px; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Home */
.bt-home__form { margin: 0; }
.bt-home__menu {
  position: absolute;
  top: 27.6svh;
  left: 32.6vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.bt-home__menu > a { margin-bottom: 2.7svh; }
.bt-newsletter { margin-top: 1.15svh; display: flex; flex-direction: column; align-items: flex-start; position: relative; }
.bt-newsletter__heading, .bt-newsletter__label, .bt-newsletter__submit { text-align: left; white-space: nowrap; }
.bt-newsletter__heading { margin-bottom: 1.1svh; }
.bt-newsletter__label { margin-bottom: .1svh; }
.bt-newsletter__input-wrap {
  display: none;
  width: calc(100vw - 32.6vw);
  margin-bottom: .1svh;
}
.bt-newsletter.is-open .bt-newsletter__input-wrap { display: block; }
.bt-newsletter.is-open .bt-newsletter__heading { color: var(--bt-active); }
.bt-newsletter__input {
  display: block;
  width: 100%;
  height: 1.45em;
  margin: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  padding: .04em .18em;
  background: #fff;
  color: #252525;
  caret-color: #252525;
  text-transform: uppercase;
}
.bt-newsletter.has-error .bt-newsletter__input { background: var(--bt-error); color: var(--bt-error-text); }
.bt-newsletter.has-error .bt-newsletter__heading { color: var(--bt-active); }
.bt-newsletter__submit:hover, .bt-newsletter__submit:focus-visible { color: var(--bt-active); }
.bt-home__instagram { margin-top: 7.4svh; }
.bt-newsletter-success {
  position: absolute;
  left: 32.6vw;
  top: 52.1svh;
  color: var(--bt-active);
  display: flex;
  flex-direction: column;
}

/* Common shop/cart top labels */
.bt-shop__label,
.bt-product-page__shop,
.bt-cart__shop {
  position: absolute;
  z-index: 20;
  top: 27.55svh;
  left: 32.6vw;
}
.bt-bag-link {
  position: absolute;
  z-index: 20;
  top: 27.55svh;
  right: 10.2vw;
  white-space: nowrap;
}

/* Shop */
.bt-shop__stage { position: absolute; inset: 0; }
.bt-shop-card { position: absolute; display: block; }
.bt-shop-card__image { width: 100%; height: auto; object-fit: contain; }
.bt-shop-card--1 { width: 23.5vw; left: 32.3vw; top: 33.9svh; }
.bt-shop-card--2 { width: 26.6vw; right: 12.4vw; top: 33.55svh; }
.bt-shop-card--3 { width: 24.4vw; left: 33.1vw; top: 49.2svh; }
.bt-shop-card--4 { width: 23.5vw; right: 12.8vw; top: 50.1svh; }
.bt-shop-card:nth-child(n+5) { position: relative; width: 24vw; display: inline-block; margin: 0 3vw 4svh 0; top: 64svh; left: 32.6vw; vertical-align: top; }
.bt-empty { position: absolute; left: 32.6vw; top: 40svh; }

/* Product */
.bt-product-page__content { position: absolute; inset: 0; }
.bt-product-page__media {
  position: absolute;
  width: 58.2vw;
  left: 31.1vw;
  top: 32.1svh;
}
.bt-product-page__image { width: 100%; max-height: 28svh; object-fit: contain; object-position: center; }
.bt-product-page__details {
  position: absolute;
  left: 32.6vw;
  top: 57.8svh;
  min-width: 58vw;
}
.bt-product-page__details h1 { margin: 0 0 .35svh; font: inherit; font-size: 1em; font-weight: 400; }
.bt-product-page__price { margin-bottom: 2.65svh; }
.bt-variants { display: flex; gap: 6.9vw; margin-bottom: 2.7svh; }
.bt-variant { text-transform: uppercase; }
.bt-variant.is-selected { color: var(--bt-active); }
.bt-variant.is-soldout { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.bt-product-form__add, .bt-product-form__purchase { display: block; text-align: left; line-height: 1.1; }
.bt-product-form__add:hover, .bt-product-form__purchase:hover,
.bt-product-form__add:focus-visible, .bt-product-form__purchase:focus-visible { color: var(--bt-active); }

/* Cart */
.bt-cart__form { position: absolute; inset: 0; }
.bt-cart__grid {
  position: absolute;
  top: 31.6svh;
  left: 31.2vw;
  right: 8.9vw;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 10.7vw;
  row-gap: 1.55svh;
  align-items: start;
}
.bt-cart__grid[data-lines="1"], .bt-cart__grid[data-lines="2"] {
  left: auto;
  width: 25.2vw;
  right: 8.9vw;
  grid-template-columns: 1fr;
  row-gap: 1.35svh;
}
.bt-cart-item { min-width: 0; }
.bt-cart-item__image-link { display: block; width: 100%; height: 10.2svh; margin-bottom: .7svh; }
.bt-cart-item__image { width: 100%; height: 100%; object-fit: contain; }
.bt-cart-item__title, .bt-cart-item__variant, .bt-cart-item__price, .bt-cart-item__remove { display: block; margin-bottom: 2.05svh; }
.bt-cart-item__variant { margin-bottom: 1.9svh; }
.bt-cart-item__price { margin-bottom: 1.85svh; }
.bt-cart-item__qty { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2.6vw; margin-bottom: 1.85svh; }
.bt-cart-item__qty button:first-child { text-align: left; }
.bt-cart-item__qty button:last-child { text-align: right; }
.bt-cart-item__qty button:hover, .bt-cart-item__remove:hover,
.bt-cart-item__qty button:focus-visible, .bt-cart-item__remove:focus-visible { color: var(--bt-active); }
.bt-cart__summary { grid-column: 2; justify-self: stretch; display: flex; flex-direction: column; gap: 2.35svh; padding-top: .2svh; }
.bt-cart__grid[data-lines="1"] .bt-cart__summary,
.bt-cart__grid[data-lines="2"] .bt-cart__summary { grid-column: 1; }
.bt-cart__checkout {
  text-align: left;
  color: #ffffff;
}
.bt-cart__checkout:hover,
.bt-cart__checkout:focus-visible,
.bt-cart__checkout:active {
  color: var(--bt-active);
}
.bt-cart__empty { position: absolute; right: 10.2vw; top: 40svh; }

/* Statement */
.bt-statement__menu,
.bt-page__menu,
.bt-archive__menu {
  position: absolute;
  top: 27.6svh;
  left: 32.6vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.7svh;
}
.bt-statement__copy {
  position: absolute;
  top: 38.6svh;
  left: 32.6vw;
  width: 52.5vw;
  max-height: 49svh;
  overflow-y: auto;
  scrollbar-width: none;
}
.bt-statement__copy::-webkit-scrollbar { display: none; }
.bt-statement__copy p { margin: 0 0 2.2svh; }
.bt-statement__tagline { padding-left: 1.9vw; white-space: nowrap; }

/* Generic pages */
.bt-page__content, .bt-archive__content {
  position: absolute;
  top: 40svh;
  left: 32.6vw;
  width: 52.5vw;
  max-height: 47svh;
  overflow-y: auto;
  scrollbar-width: none;
}
.bt-page__content::-webkit-scrollbar, .bt-archive__content::-webkit-scrollbar { display: none; }
.bt-page__content h1 { font: inherit; font-weight: 400; color: var(--bt-active); margin: 0 0 2svh; text-transform: uppercase; }
.rte p:first-child { margin-top: 0; }
.rte a { text-decoration: underline; text-underline-offset: .15em; }

@media (min-width: 750px) {
  body { font-size: 15px; }
  .bt-shell { min-height: 100vh; }
  .bt-wordmark { left: 21vw; top: 12vh; }
  .bt-footer { left: 21vw; bottom: 5vh; gap: 4vw; }
  .bt-home__menu, .bt-statement__menu, .bt-page__menu, .bt-archive__menu { left: 21vw; top: 27vh; }
  .bt-newsletter__input-wrap { width: 42vw; }
  .bt-home__instagram { margin-top: 6vh; }
  .bt-newsletter-success { left: 21vw; top: 52vh; }
  .bt-shop__label, .bt-product-page__shop, .bt-cart__shop { left: 21vw; top: 27vh; }
  .bt-bag-link { right: 15vw; top: 27vh; }
  .bt-shop-card--1 { width: 18vw; left: 31vw; top: 33vh; }
  .bt-shop-card--2 { width: 20vw; right: 20vw; top: 33vh; }
  .bt-shop-card--3 { width: 18vw; left: 38vw; top: 54vh; }
  .bt-shop-card--4 { width: 18vw; right: 20vw; top: 54vh; }
  .bt-product-page__media { width: 44vw; left: 31vw; top: 31vh; }
  .bt-product-page__image { max-height: 32vh; }
  .bt-product-page__details { left: 31vw; top: 63vh; min-width: 35vw; }
  .bt-variants { gap: 3.2vw; }
  .bt-cart__grid { left: 37vw; right: 14vw; column-gap: 7vw; }
  .bt-cart__grid[data-lines="1"], .bt-cart__grid[data-lines="2"] { width: 18vw; right: 14vw; }
  .bt-cart-item__qty { gap: 1.4vw; }
  .bt-statement__copy, .bt-page__content, .bt-archive__content { left: 35vw; width: 34vw; top: 38vh; }
  .bt-statement__tagline { padding-left: 1vw; }
}

@media (max-height: 650px) {
  .bt-footer { position: fixed; }
  .bt-product-page__details { top: 55svh; }
  .bt-statement__copy { max-height: 45svh; }
}

/* --------------------------------------------------------------------------
   Exact 1080 × 1920 reference composition — Home + Statement
   These two screens use a 9:16 design frame so every coordinate is tied to
   the supplied master artwork instead of drifting with mobile browser height.
   -------------------------------------------------------------------------- */
.bt-home,
.bt-statement {
  min-height: 100svh;
  overflow: hidden;
}

.bt-home .bt-reference-frame,
.bt-statement .bt-reference-frame {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(100vw, 56.25svh);
  height: auto;
  aspect-ratio: 9 / 16;
  transform: translate(-50%, -50%);
  overflow: visible;
  font-size: clamp(12px, min(3.15vw, 1.771875svh), 16px);
  line-height: 1.22;
  container-type: size;
}

/* The exact left edge used by the master comp: x = 410 on a 1080px canvas. */
.bt-home .bt-wordmark,
.bt-statement .bt-wordmark {
  left: 37.962962963%;
  top: 13.489583333%;
  z-index: 20;
}

/* HOME — every row is independently positioned from the reference image. */
.bt-home__form,
.bt-home__menu {
  position: absolute;
  inset: 0;
  margin: 0;
}

.bt-home__menu {
  display: block;
}

.bt-home__shop,
.bt-home__archive,
.bt-home__statement,
.bt-home__contact,
.bt-home__instagram {
  position: absolute;
  left: 37.962962963%;
  margin: 0;
  z-index: 20;
  white-space: nowrap;
}

.bt-home__shop      { top: 27.65625%; }
.bt-home__archive   { top: 32.135416667%; }
.bt-home__statement { top: 36.666666667%; }
.bt-home__contact   { top: 41.197916667%; }
.bt-home__instagram { top: 63.75%; }

.bt-home .bt-newsletter {
  position: absolute;
  inset: 0;
  margin: 0;
  display: block;
  z-index: 25;
  pointer-events: none;
}

.bt-home .bt-newsletter__heading,
.bt-home .bt-newsletter__label,
.bt-home .bt-newsletter__submit {
  position: absolute;
  left: 37.962962963%;
  margin: 0;
  white-space: nowrap;
  pointer-events: auto;
  z-index: 27;
}

.bt-home .bt-newsletter__heading { top: 47.96875%; }
.bt-home .bt-newsletter__label   { top: 52.447916667%; }
.bt-home .bt-newsletter__submit  { top: 54.739583333%; }

/* Reserved email row: x 413, y 954–995 in the 1080×1920 master.
   It is exactly centered in the fixed gap between MAILING LIST and EMAIL ADDRESS.
   Hidden/open/success/error states overlay this row; no other text reflows or moves. */
.bt-home .bt-newsletter__input-wrap {
  display: block;
  position: absolute;
  left: 38.240740741%;
  right: 0;
  top: 49.6875%;
  height: 2.1875%;
  margin: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: 26;
}

.bt-home .bt-newsletter.is-open .bt-newsletter__input-wrap {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.bt-home .bt-newsletter.is-open .bt-newsletter__heading,
.bt-home .bt-newsletter.has-error .bt-newsletter__heading,
.bt-home .bt-newsletter.is-success .bt-newsletter__heading {
  color: #e6d98a;
}

.bt-home .bt-newsletter__input {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0 .18em;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: #ffffff;
  color: #252525;
  caret-color: transparent;
  line-height: 1.22;
  text-transform: uppercase;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

/* Reference-state colors sampled from the supplied artwork. */
.bt-home .bt-newsletter.has-error .bt-newsletter__input {
  background: #681724;
  color: #ffffff;
  caret-color: transparent;
}

.bt-home .bt-newsletter.is-success .bt-newsletter__input {
  background: #e6d98a;
  color: #252525;
  caret-color: transparent;
}

.bt-home .bt-newsletter.has-error .bt-newsletter__submit {
  color: #681724;
}

.bt-home .bt-newsletter.is-success .bt-newsletter__submit {
  color: #e6d98a;
}

.bt-home .bt-newsletter-success {
  position: absolute;
  left: 37.962962963%;
  top: 52.5%;
  display: flex;
  flex-direction: column;
  line-height: 2.291666667;
  color: var(--bt-active);
  z-index: 20;
}

/* Exact footer starts: TERMS x248, PRIVACY x411, SHIPPING x614; y1769. */
.bt-home .bt-footer,
.bt-statement .bt-footer {
  position: absolute;
  left: 0;
  right: 0;
  top: 92.135416667%;
  bottom: auto;
  width: 100%;
  height: 2em;
  margin: 0;
  display: block;
  transform: none;
  white-space: nowrap;
  z-index: 20;
}

.bt-home .bt-footer a,
.bt-statement .bt-footer a {
  position: absolute;
  top: 0;
}

.bt-home .bt-footer a:nth-child(1),
.bt-statement .bt-footer a:nth-child(1) { left: 22.962962963%; }
.bt-home .bt-footer a:nth-child(2),
.bt-statement .bt-footer a:nth-child(2) { left: 38.055555556%; }
.bt-home .bt-footer a:nth-child(3),
.bt-statement .bt-footer a:nth-child(3) { left: 56.851851852%; }

/* STATEMENT — menu rows match the master exactly. */
.bt-statement .bt-statement__menu {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 20;
}

.bt-statement__shop,
.bt-statement__archive,
.bt-statement__active {
  position: absolute;
  left: 37.962962963%;
  margin: 0;
  white-space: nowrap;
}

.bt-statement__shop    { top: 27.65625%; }
.bt-statement__archive { top: 32.135416667%; }
.bt-statement__active  { top: 36.666666667%; }

/* Fixed line breaks are intentional: they reproduce the supplied statement
   artwork rather than allowing browser wrapping to choose different breaks. */
.bt-statement .bt-statement__copy {
  position: absolute;
  left: 38.055555556%;
  top: 39.375%;
  width: auto;
  max-height: none;
  overflow: visible;
  margin: 0;
  line-height: 1.145833333;
  white-space: nowrap;
}

.bt-statement .bt-statement__copy span {
  display: block;
}

.bt-statement .bt-statement__tagline,
.bt-statement .bt-statement__signature {
  position: absolute;
  margin: 0;
  white-space: nowrap;
}

.bt-statement .bt-statement__tagline {
  left: 40%;
  top: 79.21875%;
  padding: 0;
}

.bt-statement .bt-statement__signature {
  left: 38.333333333%;
  top: 85.260416667%;
}

/* Keep touch targets usable without changing the measured visual geometry. */
.bt-home .bt-reference-frame a,
.bt-home .bt-reference-frame button,
.bt-home .bt-reference-frame input,
.bt-statement .bt-reference-frame a {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.bt-home .bt-reference-frame a,
.bt-home .bt-reference-frame button,
.bt-statement .bt-reference-frame a {
  cursor: pointer;
}

/* Neutralize the old desktop placement rules for these two reference screens. */
@media (min-width: 750px) {
  .bt-home .bt-wordmark,
  .bt-statement .bt-wordmark {
    left: 37.962962963%;
    top: 13.489583333%;
  }

  .bt-home .bt-footer,
  .bt-statement .bt-footer {
    left: 0;
    top: 92.135416667%;
    bottom: auto;
  }

  .bt-statement .bt-statement__copy {
    left: 38.055555556%;
    top: 39.375%;
    width: auto;
  }
}

@media (max-height: 650px) {
  .bt-home .bt-footer,
  .bt-statement .bt-footer {
    position: absolute;
  }

  .bt-statement .bt-statement__copy {
    max-height: none;
  }
}


/* --------------------------------------------------------------------------
   Shared centered 1080 × 1920 reference frame — ALL SCREENS
   The landing page established the master coordinate system. Every route now
   uses that exact same centered 9:16 frame so persistent controls never jump
   when navigating between HOME / SHOP / PRODUCT / BAG / ARCHIVE / STATEMENT.
   -------------------------------------------------------------------------- */
.bt-shop,
.bt-product-page,
.bt-cart,
.bt-archive,
.bt-page {
  min-height: 100svh;
  overflow: hidden;
}

.bt-shop .bt-reference-frame,
.bt-product-page .bt-reference-frame,
.bt-cart .bt-reference-frame,
.bt-archive .bt-reference-frame,
.bt-page .bt-reference-frame {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(100vw, 56.25svh);
  height: auto;
  aspect-ratio: 9 / 16;
  transform: translate(-50%, -50%);
  overflow: visible;
  font-size: clamp(12px, min(3.15vw, 1.771875svh), 16px);
  line-height: 1.22;
  container-type: size;
}

/* Persistent wordmark: exact same x/y as landing page. */
.bt-shop .bt-wordmark,
.bt-product-page .bt-wordmark,
.bt-cart .bt-wordmark,
.bt-archive .bt-wordmark,
.bt-page .bt-wordmark {
  left: 37.962962963%;
  top: 13.489583333%;
  z-index: 20;
}

/* Persistent footer: exact same master positions as landing page. */
.bt-shop .bt-footer,
.bt-product-page .bt-footer,
.bt-cart .bt-footer,
.bt-archive .bt-footer,
.bt-page .bt-footer {
  position: absolute;
  left: 0;
  right: 0;
  top: 92.135416667%;
  bottom: auto;
  width: 100%;
  height: 2em;
  margin: 0;
  display: block;
  transform: none;
  white-space: nowrap;
  z-index: 20;
}

.bt-shop .bt-footer a,
.bt-product-page .bt-footer a,
.bt-cart .bt-footer a,
.bt-archive .bt-footer a,
.bt-page .bt-footer a {
  position: absolute;
  top: 0;
}

.bt-shop .bt-footer a:nth-child(1),
.bt-product-page .bt-footer a:nth-child(1),
.bt-cart .bt-footer a:nth-child(1),
.bt-archive .bt-footer a:nth-child(1),
.bt-page .bt-footer a:nth-child(1) { left: 22.962962963%; }

.bt-shop .bt-footer a:nth-child(2),
.bt-product-page .bt-footer a:nth-child(2),
.bt-cart .bt-footer a:nth-child(2),
.bt-archive .bt-footer a:nth-child(2),
.bt-page .bt-footer a:nth-child(2) { left: 38.055555556%; }

.bt-shop .bt-footer a:nth-child(3),
.bt-product-page .bt-footer a:nth-child(3),
.bt-cart .bt-footer a:nth-child(3),
.bt-archive .bt-footer a:nth-child(3),
.bt-page .bt-footer a:nth-child(3) { left: 56.851851852%; }

/* SHOP is one persistent button in the same location on every commerce view. */
.bt-shop .bt-shop__label,
.bt-product-page .bt-product-page__shop,
.bt-cart .bt-cart__shop {
  position: absolute;
  left: 37.962962963%;
  top: 27.65625%;
  right: auto;
  margin: 0;
  z-index: 20;
  white-space: nowrap;
}

/* BAG shares the same top baseline across shop / product / cart. */
.bt-shop .bt-bag-link,
.bt-product-page .bt-bag-link,
.bt-cart .bt-bag-link {
  position: absolute;
  top: 27.65625%;
  right: 10.2%;
  margin: 0;
  z-index: 20;
  white-space: nowrap;
}

/* SHOP — preserve V1 artwork positions, but measure them inside the master
   reference frame instead of against the changing browser viewport. */
.bt-shop .bt-shop__stage { position: absolute; inset: 0; }
.bt-shop .bt-shop-card--1 { width: 23.5%; left: 32.3%; top: 33.9%; }
.bt-shop .bt-shop-card--2 { width: 26.6%; right: 12.4%; top: 33.55%; }
.bt-shop .bt-shop-card--3 { width: 24.4%; left: 33.1%; top: 49.2%; }
.bt-shop .bt-shop-card--4 { width: 23.5%; right: 12.8%; top: 50.1%; }
.bt-shop .bt-shop-card:nth-child(n+5) {
  width: 24%;
  margin: 0 3cqw 4cqh 0;
  top: 64%;
  left: 32.6%;
}
.bt-shop .bt-empty { left: 37.962962963%; top: 40%; }

/* PRODUCT — all geometry is now relative to the exact same frame. */
.bt-product-page .bt-product-page__content { position: absolute; inset: 0; }
.bt-product-page .bt-product-page__media {
  width: 58.2%;
  left: 31.1%;
  top: 32.1%;
}
.bt-product-page .bt-product-page__image { max-height: 28cqh; }
.bt-product-page .bt-product-page__details {
  left: 37.962962963%;
  top: 57.8%;
  min-width: 58%;
}
.bt-product-page .bt-product-page__price { margin-bottom: 2.65cqh; }
.bt-product-page .bt-variants { gap: 6.9cqw; margin-bottom: 2.7cqh; }

/* BAG/CART — use frame percentages, not viewport units. */
.bt-cart .bt-cart__form { position: absolute; inset: 0; }
.bt-cart .bt-cart__grid {
  top: 31.6%;
  left: 31.2%;
  right: 8.9%;
  column-gap: 10.7cqw;
  row-gap: 1.55cqh;
}
.bt-cart .bt-cart__grid[data-lines="1"],
.bt-cart .bt-cart__grid[data-lines="2"] {
  left: auto;
  width: 25.2%;
  right: 8.9%;
  row-gap: 1.35cqh;
}
.bt-cart .bt-cart-item__image-link { height: 10.2cqh; margin-bottom: .7cqh; }
.bt-cart .bt-cart-item__title,
.bt-cart .bt-cart-item__variant,
.bt-cart .bt-cart-item__price,
.bt-cart .bt-cart-item__remove { margin-bottom: 2.05cqh; }
.bt-cart .bt-cart-item__variant { margin-bottom: 1.9cqh; }
.bt-cart .bt-cart-item__price { margin-bottom: 1.85cqh; }
.bt-cart .bt-cart-item__qty { gap: 2.6cqw; margin-bottom: 1.85cqh; }
.bt-cart .bt-cart__summary { gap: 2.35cqh; padding-top: .2cqh; }
.bt-cart .bt-cart__empty { right: 10.2%; top: 40%; }

/* ARCHIVE + GENERIC PAGE navigation use the landing-page coordinates exactly.
   Active-state color can change, but none of the words can change position. */
.bt-archive .bt-archive__menu,
.bt-page .bt-page__menu {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 20;
}

.bt-archive .bt-archive__menu > *,
.bt-page .bt-page__menu > * {
  position: absolute;
  left: 37.962962963%;
  margin: 0;
  white-space: nowrap;
}

.bt-archive .bt-archive__menu > *:nth-child(1),
.bt-page .bt-page__menu > *:nth-child(1) { top: 27.65625%; }
.bt-archive .bt-archive__menu > *:nth-child(2),
.bt-page .bt-page__menu > *:nth-child(2) { top: 32.135416667%; }
.bt-archive .bt-archive__menu > *:nth-child(3),
.bt-page .bt-page__menu > *:nth-child(3) { top: 36.666666667%; }
.bt-archive .bt-archive__menu > *:nth-child(4),
.bt-page .bt-page__menu > *:nth-child(4) { top: 41.197916667%; }

.bt-archive .bt-archive__content,
.bt-page .bt-page__content {
  left: 37.962962963%;
  top: 47.96875%;
  width: 52.5%;
  max-height: 39%;
}

/* The frame itself remains the source of truth at every breakpoint. */
@media (max-height: 650px) {
  .bt-shop .bt-footer,
  .bt-product-page .bt-footer,
  .bt-cart .bt-footer,
  .bt-archive .bt-footer,
  .bt-page .bt-footer {
    position: absolute;
  }
}

/* Statement reference verification (1080×1920 master):
   wordmark y259; SHOP y531; ARCHIVE y617; STATEMENT y704;
   copy begins x411/y756; tagline x432/y1521; signature x414/y1637;
   footer y1769. The percentages above are those exact coordinates. */

/* --------------------------------------------------------------------------
   Homepage interface states
   STATEMENT is intentionally NOT a Shopify Page. It occupies the exact same
   1080×1920 frame as HOME and swaps in place, so persistent geometry cannot
   shift during the transition.
   -------------------------------------------------------------------------- */
.bt-home .bt-interface-screen {
  position: absolute;
  inset: 0;
  margin: 0;
}

.bt-home .bt-interface-screen[hidden] {
  display: none !important;
}

/* The Statement trigger is a button, but visually it is the same measured row
   as the original link. */
.bt-home .bt-home__statement {
  text-align: left;
  line-height: inherit;
}

.bt-home .bt-home__statement:hover,
.bt-home .bt-home__statement:focus-visible {
  color: var(--bt-active);
}

/* Exact Statement state geometry from the supplied 1080×1920 reference. */
.bt-home .bt-interface-screen--statement .bt-statement__menu {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 20;
}

.bt-home .bt-interface-screen--statement .bt-statement__shop,
.bt-home .bt-interface-screen--statement .bt-statement__archive,
.bt-home .bt-interface-screen--statement .bt-statement__active {
  position: absolute;
  left: 37.962962963%;
  margin: 0;
  white-space: nowrap;
}

.bt-home .bt-interface-screen--statement .bt-statement__shop    { top: 27.65625%; }
.bt-home .bt-interface-screen--statement .bt-statement__archive { top: 32.135416667%; }
.bt-home .bt-interface-screen--statement .bt-statement__active  { top: 36.666666667%; }

.bt-home .bt-interface-screen--statement .bt-statement__copy {
  position: absolute;
  left: 38.055555556%;
  top: 39.375%;
  width: auto;
  max-height: none;
  overflow: visible;
  margin: 0;
  line-height: 1.145833333;
  white-space: nowrap;
}

.bt-home .bt-interface-screen--statement .bt-statement__copy span {
  display: block;
}

.bt-home .bt-interface-screen--statement .bt-statement__tagline,
.bt-home .bt-interface-screen--statement .bt-statement__signature {
  position: absolute;
  margin: 0;
  white-space: nowrap;
}

.bt-home .bt-interface-screen--statement .bt-statement__tagline {
  left: 40%;
  top: 79.21875%;
  padding: 0;
}

.bt-home .bt-interface-screen--statement .bt-statement__signature {
  left: 38.333333333%;
  top: 85.260416667%;
}

.bt-home .bt-interface-screen--statement a {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* --------------------------------------------------------------------------
   Statement-state click-layer fix
   The full-screen statement nav is used only as a coordinate canvas. It must
   not intercept taps outside its actual links. Keep the persistent wordmark
   above every state so it always returns to HOME without changing geometry.
   -------------------------------------------------------------------------- */
.bt-home .bt-wordmark {
  z-index: 100;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.bt-home .bt-interface-screen--statement .bt-statement__menu {
  pointer-events: none;
}

.bt-home .bt-interface-screen--statement .bt-statement__shop,
.bt-home .bt-interface-screen--statement .bt-statement__archive {
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* --------------------------------------------------------------------------
   Newsletter interaction refinement
   - the bar keeps the reference 42/1920 frame height
   - JavaScript centers it from the *rendered* lower edge of MAILING LIST to
     the *rendered* upper edge of EMAIL ADDRESS, so the two gaps are equal
     even when mobile font metrics differ slightly
   - successful signup swaps the home controls for the exact confirmation
     state from the supplied 1080 × 1920 artwork
   -------------------------------------------------------------------------- */
.bt-home .bt-newsletter-confirmation {
  position: absolute;
  inset: 0;
  z-index: 30;
  margin: 0;
  color: #e6d98a;
  white-space: nowrap;
}

.bt-home .bt-newsletter-confirmation[hidden] {
  display: none !important;
}

.bt-home .bt-newsletter-confirmation span {
  position: absolute;
  left: 38.055555556%; /* x = 411 / 1080 */
  display: block;
  margin: 0;
}

/* Exact reference starts: EMAIL ADDRESS (411,1008), SUBMITTED (411,1053). */
.bt-home .bt-newsletter-confirmation span:nth-child(1) { top: 52.5%; }
.bt-home .bt-newsletter-confirmation span:nth-child(2) { top: 54.84375%; }

/* The input bar uses the reference height. Its top is a fallback; JS replaces
   it with the exact midpoint between the two rendered text rows. */
.bt-home .bt-newsletter__input-wrap {
  top: 49.6875%;
  height: 2.1875%;
}

.bt-home.is-newsletter-confirmed .bt-interface-screen--home {
  visibility: hidden;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   ARCHIVE STATE — editable Shopify blocks, matched to the supplied 1080×1920
   mockup. It lives inside the same home reference frame, so the wordmark,
   SHOP, ARCHIVE and footer do not jump when the screen changes.
   -------------------------------------------------------------------------- */
.bt-home .bt-interface-screen--archive {
  position: absolute;
  inset: 0;
  z-index: 12;
}

.bt-home .bt-archive-state__menu {
  position: absolute;
  inset: 0;
  z-index: 20;
}

.bt-home .bt-archive-state__shop,
.bt-home .bt-archive-state__active {
  position: absolute;
  left: 37.962962963%;
  margin: 0;
  white-space: nowrap;
}

.bt-home .bt-archive-state__shop   { top: 27.65625%; }
.bt-home .bt-archive-state__active { top: 32.135416667%; }

.bt-home .bt-archive-state__viewport {
  position: absolute;
  left: 0;
  right: 0;
  top: 46.25%;
  bottom: 10.8%;
  overflow: hidden;
  z-index: 15;
}

.bt-home .bt-archive-state__list {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  overflow-x: visible;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 10cqh;
}

.bt-home .bt-archive-state__list::-webkit-scrollbar {
  display: none;
}

.bt-home .bt-archive-entry {
  position: relative;
  left: 38.8%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 31%;
  min-height: 7.35cqh;
  margin: 0 0 1.85cqh;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bt-text);
  text-align: left;
  overflow: visible;
  cursor: pointer;
}

.bt-home .bt-archive-entry.is-right {
  left: 69.8%;
}

.bt-home .bt-archive-entry__media {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 15.25cqw;
  height: 5.1cqh;
  overflow: hidden;
  background: transparent;
}

.bt-home .bt-archive-entry__thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bt-home .bt-archive-entry__placeholder {
  display: block;
  white-space: nowrap;
}

.bt-home .bt-archive-entry__title {
  display: block;
  margin-top: .72cqh;
  white-space: nowrap;
}

.bt-home .bt-archive-entry:hover,
.bt-home .bt-archive-entry:focus-visible {
  color: var(--bt-active);
}

/* Full-screen archive media viewer. */
.bt-archive-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(4svh, env(safe-area-inset-top)) 4vw max(4svh, env(safe-area-inset-bottom));
  background: #000;
}

.bt-archive-modal[hidden] {
  display: none !important;
}

.bt-archive-modal__stage {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bt-archive-modal__image,
.bt-archive-modal__video {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.bt-archive-modal__video {
  background: #000;
}

.bt-archive-modal__close {
  position: fixed;
  top: max(2.2svh, env(safe-area-inset-top));
  right: max(4vw, env(safe-area-inset-right));
  z-index: 1001;
  color: var(--bt-text);
  white-space: nowrap;
}

.bt-body.is-archive-modal-open {
  overflow: hidden;
}

/* ARCHIVE GROWTH / WRAPPING FIX — 2026-08-08 */
/* Only the Archive state becomes a long document. The initial 9:16 frame stays
   centered in the first viewport so the wordmark and navigation do not move. */
.bt-home.is-archive-screen {
  min-height: var(--bt-archive-page-height, 100svh);
  overflow: visible;
}

.bt-home.is-archive-screen .bt-reference-frame {
  top: 50svh;
}

/* Footer begins at the original master position for a short archive, then JS
   moves it below the final entry when the archive grows. */
.bt-home.is-archive-screen .bt-footer {
  top: var(--bt-archive-footer-top, 92.135416667%);
}

/* No nested scrolling window: the archive itself grows the document. */
.bt-home .bt-archive-state__viewport {
  bottom: auto;
  height: auto;
  overflow: visible;
}

.bt-home .bt-archive-state__list {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  min-height: 0;
  overflow: visible;
  padding: 0;
  scrollbar-width: auto;
}

/* Keep the staggered geometry, but constrain both columns inside the frame so
   titles can wrap downward instead of disappearing beyond the right edge. */
.bt-home .bt-archive-entry {
  left: 38.8%;
  width: 29.5%;
  min-height: 0;
  margin: 0 0 2.7cqh;
  overflow: visible;
}

.bt-home .bt-archive-entry.is-right {
  left: 69.25%;
  width: 27.75%;
  margin-top: 1.9cqh;
}

.bt-home .bt-archive-entry__media {
  width: min(15.25cqw, 100%);
  max-width: 100%;
  flex: 0 0 auto;
}

.bt-home .bt-archive-entry__title {
  width: 100%;
  max-width: 100%;
  margin-top: .72cqh;
  white-space: normal;
  overflow: visible;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.22;
}

/* This modal now sits outside the transformed reference frame in Liquid, so
   position:fixed truly covers the physical viewport on iOS/Safari. */
.bt-home > .bt-archive-modal {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    max(4svh, env(safe-area-inset-top))
    max(4vw, env(safe-area-inset-right))
    max(4svh, env(safe-area-inset-bottom))
    max(4vw, env(safe-area-inset-left));
  background: #000;
}

.bt-home > .bt-archive-modal[hidden] {
  display: none !important;
}

.bt-home > .bt-archive-modal .bt-archive-modal__stage {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bt-home > .bt-archive-modal .bt-archive-modal__image,
.bt-home > .bt-archive-modal .bt-archive-modal__video {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.bt-home > .bt-archive-modal .bt-archive-modal__video {
  background: #000;
}


/* Expanded media itself never closes the viewer; only the surrounding
   black backdrop (or CLOSE) does. */
.bt-home > .bt-archive-modal .bt-archive-modal__image {
  cursor: default;
  touch-action: manipulation;
}

/* Video is interactive media, not a modal-close target. Preserve native
   touch behavior for scrubbing, playback controls and fullscreen on iOS. */
.bt-home > .bt-archive-modal .bt-archive-modal__video {
  cursor: default;
  touch-action: auto;
}


/* ARCHIVE TAP RELIABILITY FIX — keep each media/title pair above state layers. */
.bt-home .bt-interface-screen--archive,
.bt-home .bt-archive-state__viewport,
.bt-home .bt-archive-state__list {
  pointer-events: auto;
}

.bt-home .bt-archive-entry {
  position: relative;
  z-index: 40;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.bt-home .bt-archive-entry__media,
.bt-home .bt-archive-entry__thumb,
.bt-home .bt-archive-entry__placeholder,
.bt-home .bt-archive-entry__title {
  pointer-events: auto;
  cursor: pointer;
}

/* ARCHIVE CLICK FIX — the nav fills the whole reference frame for positioning,
   but only its visible controls should receive taps. Without this, the invisible
   nav layer sits above the archive entries and swallows every iPhone tap. */
.bt-home .bt-archive-state__menu {
  pointer-events: none !important;
}

.bt-home .bt-archive-state__shop,
.bt-home .bt-archive-state__active {
  pointer-events: auto !important;
}

/* Keep the actual archive entry hit area above its list background. */
.bt-home .bt-archive-state__viewport,
.bt-home .bt-archive-state__list,
.bt-home .bt-archive-entry,
.bt-home .bt-archive-entry__media,
.bt-home .bt-archive-entry__thumb,
.bt-home .bt-archive-entry__title {
  pointer-events: auto !important;
}


/* CUSTOM NEWSLETTER CARET — the insertion cursor is a blinking ellipsis. */
.bt-home .bt-newsletter__input-wrap {
  overflow: hidden;
}

.bt-home .bt-newsletter__ellipsis-caret {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 30;
  display: none;
  transform: translateY(-50%);
  color: #252525;
  font: inherit;
  line-height: 1;
  letter-spacing: inherit;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  opacity: 1;
}

.bt-home .bt-newsletter__input-wrap.is-caret-visible .bt-newsletter__ellipsis-caret {
  display: block;
  animation: bt-newsletter-ellipsis-blink 1s step-end infinite;
}

.bt-home .bt-newsletter.has-error .bt-newsletter__ellipsis-caret,
.bt-home .bt-newsletter.is-success .bt-newsletter__ellipsis-caret {
  display: none !important;
}

@keyframes bt-newsletter-ellipsis-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}


/* iOS-safe custom email cursor.
   The native input remains the real editable control, but its painted text/caret
   are fully transparent. A mirror layer renders the value and the blinking …
   separately, so Safari cannot substitute its native | caret. */
.bt-home .bt-newsletter__input {
  position: relative;
  z-index: 31;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  caret-color: transparent !important;
  text-shadow: none !important;
  background-clip: padding-box;
}

.bt-home .bt-newsletter__text-mirror {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 32;
  display: block;
  max-width: 100%;
  transform: translateY(-50%);
  padding: 0 .18em;
  overflow: hidden;
  color: #252525;
  font: inherit;
  line-height: 1.22;
  letter-spacing: inherit;
  text-transform: uppercase;
  white-space: pre;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.bt-home .bt-newsletter__ellipsis-caret {
  z-index: 33;
}

.bt-home .bt-newsletter.has-error .bt-newsletter__text-mirror {
  color: #ffffff;
}

.bt-home .bt-newsletter.is-success .bt-newsletter__text-mirror {
  color: #252525;
}


/* TERMS + PRIVACY + SHIPPING — in-place policy screens using the same Burgintee frame.
   The policy body scrolls behind a subtle top fade while the wordmark, title,
   and footer remain fixed exactly like the supplied reference. */
.bt-home .bt-interface-screen--policy {
  position: absolute;
  inset: 0;
  z-index: 8;
}

.bt-home .bt-policy-screen__heading {
  position: absolute;
  left: 37.962962963%;
  top: 27.65625%;
  margin: 0;
  padding: 0;
  color: var(--bt-text);
  font: inherit;
  font-weight: 400;
  line-height: inherit;
  white-space: nowrap;
  z-index: 20;
}

.bt-home .bt-policy-screen__viewport {
  position: absolute;
  left: 22.962962963%;
  top: 35.833333333%;
  width: 58.333333333%;
  height: 48.75%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  z-index: 10;
  padding: 3.25cqh 0 4cqh;
  box-sizing: border-box;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.38) 3.5%, #000 9%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.38) 3.5%, #000 9%, #000 100%);
}

.bt-home .bt-policy-screen__viewport::-webkit-scrollbar {
  display: none;
}

.bt-home .bt-policy-screen__copy {
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--bt-text);
  font: inherit;
  line-height: 1.18;
  overflow-wrap: break-word;
  word-break: normal;
}

.bt-home .bt-policy-screen__copy > :first-child {
  margin-top: 0 !important;
}

.bt-home .bt-policy-screen__copy p,
.bt-home .bt-policy-screen__copy ul,
.bt-home .bt-policy-screen__copy ol {
  margin: 0 0 2.45cqh;
}

.bt-home .bt-policy-screen__copy h1,
.bt-home .bt-policy-screen__copy h2,
.bt-home .bt-policy-screen__copy h3,
.bt-home .bt-policy-screen__copy h4,
.bt-home .bt-policy-screen__copy h5,
.bt-home .bt-policy-screen__copy h6 {
  margin: 3.1cqh 0 2.2cqh;
  color: var(--bt-text);
  font: inherit;
  font-weight: 400;
  line-height: inherit;
  text-transform: uppercase;
}

.bt-home .bt-policy-screen__copy a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.bt-home .bt-policy-screen__copy strong,
.bt-home .bt-policy-screen__copy b {
  font-weight: 400;
}

/* TERMS/PRIVACY/SHIPPING are selected in the footer, not in the fixed title. */
.bt-home.is-policy-screen .bt-footer {
  z-index: 30;
}

/* The policy title and scroll surface must receive gestures above the general
   interface background; scrolling the copy should never be swallowed by an
   invisible screen/navigation layer. */
.bt-home .bt-interface-screen--policy,
.bt-home .bt-policy-screen__viewport,
.bt-home .bt-policy-screen__copy {
  pointer-events: auto;
}


/* --------------------------------------------------------------------------
   INVERTED MODE
   Double-tap the Burgintee wordmark to toggle. The preference is persisted
   across Shopify routes; product/archive media itself is never filtered.
   -------------------------------------------------------------------------- */
html.bt-inverted {
  --bt-bg: #efede6;
  --bt-text: #1b1b1b;
  --bt-brand: #711724;
  --bt-active: #9b8916;
  --bt-error: #7c1b2e;
  --bt-error-text: #f2d1d7;
  background: #efede6 !important;
  color-scheme: light;
}

html.bt-inverted body,
html.bt-inverted .bt-shell {
  background: var(--bt-bg) !important;
  color: var(--bt-text);
}

.bt-wordmark {
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
}

/* In the light/inverted interface, the input bar itself becomes the opposite
   field: dark bar + light mirrored text/cursor. Success/error retain their
   established Burgintee state colors. */
html.bt-inverted .bt-home .bt-newsletter__input {
  background: #171717;
}

html.bt-inverted .bt-home .bt-newsletter__text-mirror,
html.bt-inverted .bt-home .bt-newsletter__ellipsis-caret {
  color: #efede6;
}

html.bt-inverted .bt-home .bt-newsletter.has-error .bt-newsletter__text-mirror {
  color: #ffffff;
}

html.bt-inverted .bt-home .bt-newsletter.is-success .bt-newsletter__text-mirror {
  color: #252525;
}

/* The archive viewer follows the interface background while the media itself
   remains untouched. Videos may keep their own black player canvas. */
html.bt-inverted .bt-archive-modal,
html.bt-inverted .bt-home > .bt-archive-modal {
  background: var(--bt-bg) !important;
}

/* Accessibility-only skip control also inverts cleanly. */
html.bt-inverted .bt-skip {
  background: #171717;
  color: #efede6;
}


/* SHIPPING uses the exact same fixed-title / scroll-copy composition as TERMS and PRIVACY. */
.bt-home .bt-interface-screen--shipping .bt-policy-screen__section-title {
  margin: 0 0 2.45cqh;
  color: var(--bt-text);
  font: inherit;
  font-weight: 400;
  line-height: inherit;
  text-transform: uppercase;
}


/* CART CONTENT GROWTH FIX — keep the original composition for short bags,
   but let the document grow when cart content reaches the footer. The cart
   reference frame stays centered in the first viewport; only the footer is
   pushed lower as needed. */
.bt-cart {
  min-height: var(--bt-cart-page-height, 100svh) !important;
  overflow: visible !important;
}

.bt-cart .bt-reference-frame {
  /* Do not let a taller document re-center the entire interface vertically. */
  top: 50svh !important;
}

.bt-cart .bt-footer {
  top: var(--bt-cart-footer-top, 92.135416667%) !important;
}

/* Cart content is allowed to extend below the original 9:16 master frame.
   The shell grows with it, so no item can sit underneath the policy footer. */
.bt-cart .bt-cart__form,
.bt-cart .bt-cart__grid,
.bt-cart .bt-cart-item,
.bt-cart .bt-cart__summary {
  overflow: visible;
}

/* --------------------------------------------------------------------------
   CONTACT
   Keeps the HOME geometry, but the message surface grows with what is typed.
   When that growth approaches the policy footer, the footer and document move
   down with it instead of allowing the two areas to overlap.
   -------------------------------------------------------------------------- */
.bt-contact-page,
.bt-home.is-contact-screen {
  min-height: var(--bt-contact-page-height, 100svh) !important;
  overflow: visible !important;
}

.bt-contact-page .bt-reference-frame,
.bt-home.is-contact-screen .bt-reference-frame {
  /* A growing document must not re-center the entire interface vertically. */
  top: 50svh !important;
}

.bt-contact-page .bt-footer,
.bt-home.is-contact-screen .bt-footer {
  top: var(--bt-contact-footer-top, 92.135416667%) !important;
}

/* In-place CONTACT uses the same four navigation coordinates as HOME. */
.bt-home .bt-interface-screen--contact {
  position: absolute;
  inset: 0;
  z-index: 12;
}

.bt-home .bt-contact-state__menu {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}

.bt-home .bt-contact-state__shop,
.bt-home .bt-contact-state__archive,
.bt-home .bt-contact-state__statement,
.bt-home .bt-contact-state__active {
  position: absolute;
  left: 37.962962963%;
  margin: 0;
  white-space: nowrap;
  line-height: inherit;
}

.bt-home .bt-contact-state__shop,
.bt-home .bt-contact-state__archive,
.bt-home .bt-contact-state__statement,
.bt-home .bt-contact-state__active {
  pointer-events: auto;
}

.bt-home .bt-contact-state__shop      { top: 27.65625%; }
.bt-home .bt-contact-state__archive   { top: 32.135416667%; }
.bt-home .bt-contact-state__statement { top: 36.666666667%; }
.bt-home .bt-contact-state__active    { top: 41.197916667%; }

.bt-contact-page .bt-page__menu > span {
  position: absolute;
  left: 37.962962963%;
  top: 41.197916667%;
  margin: 0;
  white-space: nowrap;
}

.bt-contact-form {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: 24;
  pointer-events: none;
}

.bt-contact-form__email,
.bt-contact-form__message-wrap {
  position: absolute;
  left: 37.5%;
  width: 48.75%;
  margin: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: #414141;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: auto;
}

.bt-contact-form__email {
  top: 43.2%;
  height: 3.15cqh;
  min-height: 0;
  padding: .18em .38em;
  color: var(--bt-text);
  line-height: 1.22;
}

.bt-contact-form__email::placeholder {
  color: #858585;
  opacity: 1;
}

.bt-contact-form__message-wrap {
  top: 46.95%;
  min-height: 21cqh;
  height: auto;
  overflow: visible;
}

.bt-contact-form__message {
  display: block;
  width: 100%;
  min-height: 21cqh;
  height: 21cqh;
  margin: 0;
  padding: .42em .38em 2.7em;
  border: 0;
  border-radius: 0;
  outline: 0;
  resize: none;
  overflow: hidden;
  background: transparent;
  color: var(--bt-text);
  caret-color: var(--bt-text);
  line-height: 1.42;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.bt-contact-form__email:focus,
.bt-contact-form__message:focus {
  color: #ffffff;
}

.bt-contact-form__submit {
  position: absolute;
  left: .38em;
  bottom: .42em;
  z-index: 2;
  margin: 0;
  color: #858585;
  line-height: 1.22;
  text-align: left;
  white-space: nowrap;
  pointer-events: auto;
}

.bt-contact-form__submit:hover,
.bt-contact-form__submit:focus-visible,
.bt-contact-form__submit:active {
  color: var(--bt-active);
}

/* Make the form belong to the inverted version as well. */
html.bt-inverted .bt-contact-form__email,
html.bt-inverted .bt-contact-form__message-wrap {
  background: #d8d5ce;
}

html.bt-inverted .bt-contact-form__email,
html.bt-inverted .bt-contact-form__message,
html.bt-inverted .bt-contact-form__email:focus,
html.bt-inverted .bt-contact-form__message:focus {
  color: #171717;
  caret-color: #171717;
}

html.bt-inverted .bt-contact-form__email::placeholder,
html.bt-inverted .bt-contact-form__submit {
  color: #77736c;
}

/* --------------------------------------------------------------------------
   CONTACT REFINEMENT — 2026-08-08
   - CONTACT uses the same selected gold state as the other interface screens.
   - Contact email label is shortened to EMAIL in Liquid.
   - Native iOS | carets are hidden and replaced with the Burgintee blinking …
     cursor used by the mailing-list input.
   -------------------------------------------------------------------------- */
.bt-home .bt-contact-state__active.is-active,
.bt-contact-page .bt-page__menu > .is-active {
  color: var(--bt-active) !important;
}

.bt-contact-form__email-wrap {
  position: absolute;
  left: 37.5%;
  top: 43.2%;
  width: 48.75%;
  height: 3.15cqh;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: #414141;
  box-shadow: none;
  pointer-events: auto;
}

/* The real fields stay editable, but their painted text/caret is transparent.
   The mirror layers below paint the value and custom ellipsis cursor. */
.bt-contact-form__email {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0;
  margin: 0;
  padding: .18em .38em;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  caret-color: transparent !important;
  text-shadow: none !important;
  line-height: 1.22;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: auto;
}

.bt-contact-form__email::placeholder {
  color: #858585 !important;
  -webkit-text-fill-color: #858585 !important;
  opacity: 1;
}

.bt-contact-form__email:focus::placeholder {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.bt-contact-form__email-mirror {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 4;
  display: block;
  max-width: 100%;
  transform: translateY(-50%);
  padding: .18em .38em;
  overflow: hidden;
  color: var(--bt-text);
  font: inherit;
  line-height: 1.22;
  letter-spacing: inherit;
  white-space: pre;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.bt-contact-form__email-wrap.is-field-focused .bt-contact-form__email-mirror {
  color: #ffffff;
}

.bt-contact-form__message {
  position: relative;
  z-index: 3;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  caret-color: transparent !important;
  text-shadow: none !important;
  background: transparent !important;
}

.bt-contact-form__message-mirror {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: .42em .38em 2.7em;
  overflow: hidden;
  color: var(--bt-text);
  font: inherit;
  line-height: 1.42;
  letter-spacing: inherit;
  text-align: left !important;
  direction: ltr;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.bt-contact-form__message-wrap.is-field-focused .bt-contact-form__message-mirror {
  color: #ffffff;
}

.bt-contact-form__ellipsis-caret {
  color: currentColor;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: pre;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  opacity: 0;
}

.bt-contact-form__ellipsis-caret.is-caret-visible {
  opacity: 1;
  animation: bt-contact-ellipsis-blink 1s step-end infinite;
}

.bt-contact-form__email-caret {
  position: absolute;
  top: 50%;
  z-index: 5;
  transform: translateY(-50%);
  color: #ffffff;
  line-height: 1.22;
}

.bt-contact-form__message-caret {
  position: static;
  display: inline;
}

/* When the textarea caret is at character 0, pin the custom ellipsis to the
   message field's real typing origin. This avoids browser/layout inheritance
   ever centering the empty-field caret. Once typing begins, JS removes this
   state and the caret returns to the inline mirror flow. */
.bt-contact-form__message-wrap.is-message-caret-at-start .bt-contact-form__message-caret {
  position: absolute !important;
  left: .16em !important;
  top: .42em !important;
  z-index: 5;
  display: block !important;
  margin: 0 !important;
  transform: none !important;
  text-align: left !important;
}

@keyframes bt-contact-ellipsis-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

/* Keep SUBMIT above the visual message mirror. */
.bt-contact-form__submit {
  z-index: 6;
}

html.bt-inverted .bt-contact-form__email-wrap {
  background: #d8d5ce;
}

html.bt-inverted .bt-contact-form__email-mirror,
html.bt-inverted .bt-contact-form__message-mirror,
html.bt-inverted .bt-contact-form__email-wrap.is-field-focused .bt-contact-form__email-mirror,
html.bt-inverted .bt-contact-form__message-wrap.is-field-focused .bt-contact-form__message-mirror,
html.bt-inverted .bt-contact-form__email-caret {
  color: #171717;
}

html.bt-inverted .bt-contact-form__email::placeholder {
  color: #77736c !important;
  -webkit-text-fill-color: #77736c !important;
}

/* --------------------------------------------------------------------------
   CONTACT ALIGNMENT + SURFACE — 2026-08-08
   - Exact contact-field surface: #0B0B0B.
   - EMAIL / typed copy / SUBMIT align visually with the CONTACT label.
   - Adds a small vertical breathing space beneath CONTACT.
   -------------------------------------------------------------------------- */
.bt-contact-form__email-wrap,
.bt-contact-form__message-wrap {
  background: #0B0B0B;
}

/* Keep the original box geometry, but move the form down slightly so CONTACT
   has a clear gap before the email field begins. */
.bt-contact-form__email-wrap {
  top: 43.7%;
}

.bt-contact-form__message-wrap {
  top: 47.45%;
}

/* CONTACT itself begins at 37.962962963% while the boxes begin at 37.5%.
   This small inset brings the visible field copy onto that same text axis
   without changing the established box width. */
.bt-contact-form__email,
.bt-contact-form__email-mirror {
  padding-left: .16em;
}

.bt-contact-form__message,
.bt-contact-form__message-mirror {
  padding-left: .16em;
}

.bt-contact-form__submit {
  left: .16em;
}

/* --------------------------------------------------------------------------
   PASSWORD SCREEN — 2026-08-08
   Dedicated locked-store composition based on the supplied Burgintee mockup.
   -------------------------------------------------------------------------- */
.bt-password {
  min-height: 100svh;
  overflow: hidden;
}

.bt-password__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-size: clamp(12px, 3.15vw, 16px);
  line-height: 1.22;
}

/* Password-page-only placement from the supplied composition. */
.bt-password .bt-wordmark {
  left: 40.65%;
  top: 12.42%;
}

.bt-password__form {
  position: absolute;
  inset: 0;
  margin: 0;
}

.bt-password__field-wrap {
  position: absolute;
  left: 39.35%;
  top: 24.30%;
  width: 52.30%;
  height: 3.40%;
  min-height: 2.35em;
  margin: 0;
  overflow: hidden;
  background: #0B0B0B;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.bt-password__input {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: .18em .38em;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: transparent;
  -webkit-text-fill-color: transparent;
  caret-color: transparent;
  text-shadow: none;
  line-height: 1.22;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.bt-password__input::placeholder {
  color: #9a9896;
  -webkit-text-fill-color: #9a9896;
  opacity: 1;
}

.bt-password__input:focus::placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.bt-password__mirror {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 4;
  display: block;
  max-width: 100%;
  transform: translateY(-50%);
  padding: .18em .38em;
  overflow: hidden;
  color: var(--bt-text);
  font: inherit;
  line-height: 1.22;
  letter-spacing: inherit;
  white-space: pre;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.bt-password__field-wrap.is-field-focused .bt-password__mirror {
  color: #ffffff;
}

.bt-password__ellipsis-caret {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: block;
  transform: translateY(-50%);
  color: #ffffff;
  font: inherit;
  line-height: 1.22;
  letter-spacing: inherit;
  white-space: pre;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.bt-password__ellipsis-caret.is-caret-visible {
  opacity: 1;
  animation: bt-password-ellipsis-blink 1s step-end infinite;
}

@keyframes bt-password-ellipsis-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.bt-password__enter {
  position: absolute;
  left: 40.15%;
  top: 28.68%;
  z-index: 10;
  margin: 0;
  color: var(--bt-text);
  text-align: left;
  white-space: nowrap;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.bt-password__enter:hover,
.bt-password__enter:focus-visible,
.bt-password__enter:active,
.bt-password__enter.is-active {
  color: var(--bt-active);
}

.bt-password__instagram {
  position: absolute;
  left: 41.10%;
  top: 58.25%;
  z-index: 10;
  margin: 0;
  white-space: nowrap;
}

.bt-password__instagram:hover,
.bt-password__instagram:focus-visible {
  color: var(--bt-active);
}

.bt-password__footer {
  position: absolute;
  inset: 0;
  z-index: 10;
  margin: 0;
  pointer-events: none;
}

.bt-password__footer a {
  position: absolute;
  top: 84.35%;
  white-space: nowrap;
  pointer-events: auto;
}

.bt-password__footer a:nth-child(1) { left: 24.45%; }
.bt-password__footer a:nth-child(2) { left: 40.85%; }
.bt-password__footer a:nth-child(3) { left: 61.00%; }

.bt-password__footer a:hover,
.bt-password__footer a:focus-visible {
  color: var(--bt-active);
}

.bt-password .bt-wordmark,
.bt-password__input,
.bt-password__enter,
.bt-password__instagram,
.bt-password__footer a {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* The page itself still inverts when Burgintee is double-tapped. Keep the
   requested #0B0B0B password surface fixed and flip its copy for contrast. */
html.bt-inverted .bt-password__field-wrap {
  background: #0B0B0B;
}

html.bt-inverted .bt-password__mirror,
html.bt-inverted .bt-password__field-wrap.is-field-focused .bt-password__mirror,
html.bt-inverted .bt-password__ellipsis-caret {
  color: #efede6;
}

html.bt-inverted .bt-password__input::placeholder {
  color: #8d8a84;
  -webkit-text-fill-color: #8d8a84;
}

@media (min-width: 750px) {
  .bt-password__frame {
    left: 50%;
    top: 50%;
    width: min(100vw, 56.25svh);
    height: auto;
    aspect-ratio: 9 / 16;
    transform: translate(-50%, -50%);
    inset: auto;
    font-size: clamp(12px, min(3.15vw, 1.771875svh), 16px);
  }
}

/* --------------------------------------------------------------------------
   PASSWORD SCREEN — locked/unlocked positional match
   Reuse the landing page's exact 1080×1920 reference frame and coordinates so
   the persistent Burgintee / Instagram / policy controls do not jump.
   -------------------------------------------------------------------------- */
.bt-password__frame {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(100vw, 56.25svh);
  height: auto;
  aspect-ratio: 9 / 16;
  transform: translate(-50%, -50%);
  inset: auto;
  overflow: visible;
  font-size: clamp(12px, min(3.15vw, 1.771875svh), 16px);
  line-height: 1.22;
  container-type: size;
}

/* Exact landing-page wordmark position. */
.bt-password .bt-wordmark {
  left: 37.962962963%;
  top: 13.489583333%;
}

/* Password bar occupies the same master row where SHOP normally begins. */
.bt-password__field-wrap {
  left: 37.962962963%;
  top: 27.65625%;
  width: 52.30%;
  height: 3.40%;
  min-height: 0;
  background: #0B0B0B;
}

/* Keep PASSWORD / typed characters on the same left axis as the home menu. */
.bt-password__input {
  padding: 0;
}

.bt-password__mirror {
  padding: 0;
}

/* ENTER sits directly below the password bar on the same left axis. */
.bt-password__enter {
  left: 37.962962963%;
  top: 31.770833333%;
}

/* Exact landing-page Instagram position. */
.bt-password__instagram {
  left: 37.962962963%;
  top: 63.75%;
}

/* Exact landing-page TERMS / PRIVACY / SHIPPING positions. */
.bt-password__footer a {
  top: 92.135416667%;
}

.bt-password__footer a:nth-child(1) { left: 22.962962963%; }
.bt-password__footer a:nth-child(2) { left: 38.055555556%; }
.bt-password__footer a:nth-child(3) { left: 56.851851852%; }

/* --------------------------------------------------------------------------
   PASSWORD — iOS Safari viewport stability fix
   Keep the locked composition fixed to the viewport and prevent Safari's
   automatic input zoom from panning/scaling the 9:16 reference frame.
   -------------------------------------------------------------------------- */
html:has(.bt-password),
body.template-password {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body.template-password {
  min-height: 100svh;
}

body.template-password .bt-main {
  position: relative;
  width: 100%;
  min-height: 100svh;
  overflow: hidden;
}

.bt-password {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100svh;
  min-height: 100svh;
  overflow: hidden;
}

.bt-password__frame {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(100vw, 56.25svh);
  height: auto;
  aspect-ratio: 9 / 16;
  transform: translate3d(-50%, -50%, 0);
  overflow: visible;
}

/* iOS Safari auto-zooms focused inputs below 16px. The native characters are
   invisible here; the visible password is drawn by .bt-password__mirror, so
   using 16px on the real input changes no visible typography. */
.bt-password__input {
  font-size: 16px !important;
}


/* --------------------------------------------------------------------------
   DESKTOP INTERACTION CONSISTENCY — 2026-08-08
   Every center-interface category uses the same gold hover/focus language.
   This is restricted to true hover pointers so touch devices do not retain
   a false hover state after tapping.
   -------------------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
  .bt-home .bt-home__shop:hover,
  .bt-home .bt-home__shop:focus-visible,
  .bt-home .bt-home__archive:hover,
  .bt-home .bt-home__archive:focus-visible,
  .bt-home .bt-home__statement:hover,
  .bt-home .bt-home__statement:focus-visible,
  .bt-home .bt-home__contact:hover,
  .bt-home .bt-home__contact:focus-visible,
  .bt-home .bt-newsletter__heading:hover,
  .bt-home .bt-newsletter__heading:focus-visible,
  .bt-home .bt-newsletter__label:hover,
  .bt-home .bt-newsletter__label:focus-visible,
  .bt-home .bt-newsletter__submit:hover,
  .bt-home .bt-newsletter__submit:focus-visible,
  .bt-home .bt-home__instagram:hover,
  .bt-home .bt-home__instagram:focus-visible,
  .bt-home .bt-archive-state__shop:hover,
  .bt-home .bt-archive-state__shop:focus-visible,
  .bt-home .bt-archive-state__active:hover,
  .bt-home .bt-archive-state__active:focus-visible,
  .bt-home .bt-statement__shop:hover,
  .bt-home .bt-statement__shop:focus-visible,
  .bt-home .bt-statement__archive:hover,
  .bt-home .bt-statement__archive:focus-visible,
  .bt-home .bt-statement__active:hover,
  .bt-home .bt-statement__active:focus-visible,
  .bt-home .bt-contact-state__shop:hover,
  .bt-home .bt-contact-state__shop:focus-visible,
  .bt-home .bt-contact-state__archive:hover,
  .bt-home .bt-contact-state__archive:focus-visible,
  .bt-home .bt-contact-state__statement:hover,
  .bt-home .bt-contact-state__statement:focus-visible,
  .bt-home .bt-contact-state__active:hover,
  .bt-home .bt-contact-state__active:focus-visible,
  .bt-home .bt-footer a:hover,
  .bt-home .bt-footer a:focus-visible {
    color: var(--bt-active) !important;
  }
}

/* A policy link must return to the neutral text color as soon as its screen is
   toggled closed. This prevents a lingering selected/focus appearance. */
.bt-home .bt-footer a:not(.is-active) {
  color: var(--bt-text);
}

@media (hover: hover) and (pointer: fine) {
  .bt-home .bt-footer a:not(.is-active):hover,
  .bt-home .bt-footer a:not(.is-active):focus-visible {
    color: var(--bt-active);
  }
}

/* ARCHIVE THUMBNAIL SCALE — 2026-08-08
   Slightly larger (+18%) while preserving the existing staggered positions,
   middle/right boundaries, titles, and document flow. */
.bt-home .bt-archive-entry__media {
  width: min(18cqw, 100%);
  height: 6.02cqh;
}

/* ARCHIVE MULTI-MEDIA SEQUENCES — 2026-08-08
   One Archive thumbnail stays on the index; up to six full-screen images/videos
   can live inside that entry. Swipe horizontally to move through the sequence. */
.bt-home > .bt-archive-modal .bt-archive-modal__stage {
  overflow-x: auto;
  overflow-y: hidden;
  justify-content: flex-start;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.bt-home > .bt-archive-modal .bt-archive-modal__stage::-webkit-scrollbar {
  display: none;
}

.bt-home > .bt-archive-modal .bt-archive-modal__slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  padding: 0;
}

.bt-home > .bt-archive-modal .bt-archive-modal__slide .bt-archive-modal__image,
.bt-home > .bt-archive-modal .bt-archive-modal__slide .bt-archive-modal__video {
  flex: 0 0 auto;
}

.bt-home > .bt-archive-modal .bt-archive-modal__counter {
  position: fixed;
  left: 50%;
  bottom: max(2.2svh, env(safe-area-inset-bottom));
  z-index: 10001;
  transform: translateX(-50%);
  color: var(--bt-text);
  font: inherit;
  line-height: 1;
  letter-spacing: inherit;
  white-space: nowrap;
  pointer-events: none;
}

.bt-home > .bt-archive-modal .bt-archive-modal__counter[hidden] {
  display: none !important;
}


/* ARCHIVE STACK PEEK — 2026-08-08
   When an Archive entry contains multiple media, one neighbouring frame sits
   visibly behind the active frame. This keeps the viewer minimal while making
   the presence of another image/video immediately legible. */
.bt-home > .bt-archive-modal .bt-archive-modal__peek {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 0;
  width: min(72vw, 72vh * 1.45);
  height: min(58vh, 58vw / 1.45);
  transform: translate(-43%, -58%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  pointer-events: none;
  background: #000;
}

.bt-home > .bt-archive-modal .bt-archive-modal__peek[hidden] {
  display: none !important;
}

.bt-home > .bt-archive-modal .bt-archive-modal__peek-media {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  pointer-events: none;
}

.bt-home > .bt-archive-modal .bt-archive-modal__stage {
  position: relative;
  z-index: 1;
}

/* Let the rear frame remain visible around the active media rather than being
   covered by an opaque slide box. */
.bt-home > .bt-archive-modal .bt-archive-modal__slide {
  background: transparent;
}

@media (max-width: 749px) {
  .bt-home > .bt-archive-modal .bt-archive-modal__peek {
    width: 72vw;
    height: 42vw;
    transform: translate(-42%, -64%);
  }
}


/* ARCHIVE INDEX STACK PREVIEW — 2026-08-08
   On the Archive page itself, reveal media #2 behind media #1 so a visitor can
   tell at a glance that the entry contains a swipeable sequence. */
.bt-home .bt-archive-entry__media.has-stack {
  position: relative;
  overflow: visible;
  isolation: isolate;
}

.bt-home .bt-archive-entry__media.has-stack .bt-archive-entry__thumb--rear {
  position: absolute;
  top: -18%;
  left: 14%;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.bt-home .bt-archive-entry__media.has-stack .bt-archive-entry__thumb--front {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #000;
}

/* Cart checkout follows the interface foreground in light/inverted mode. */
html.bt-inverted .bt-cart__checkout {
  color: #000000;
}
html.bt-inverted .bt-cart__checkout:hover,
html.bt-inverted .bt-cart__checkout:focus-visible,
html.bt-inverted .bt-cart__checkout:active {
  color: var(--bt-active);
}


/* CONTACT SUCCESS — MESSAGE SENT uses the established active yellow. */
.bt-contact-form__submit.is-success,
html.bt-inverted .bt-contact-form__submit.is-success {
  color: var(--bt-active) !important;
  -webkit-text-fill-color: var(--bt-active) !important;
}

/* Archive media protection: suppress iOS long-press save/copy callouts and
   browser drag-out gestures while leaving links, buttons and video controls live. */
.bt-archive img,
.bt-archive video,
[data-bt-screen="archive"] img,
[data-bt-screen="archive"] video,
[data-archive-modal] img,
[data-archive-modal] video {
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  user-select: none;
}

/* DESKTOP MAILING-LIST BAR — extend from the existing left edge through the
   viewport's right edge, so the bar is visually cut off by the screen instead
   of ending inside the centered 9:16 reference frame. Mobile stays unchanged. */
@media (min-width: 750px) {
  .bt-home .bt-newsletter__input-wrap {
    width: auto;
    right: calc((100% - 100vw) / 2 - 4px);
  }
}

/* WORDMARK POSITION — 2026-08-09
   Move the persistent …burgintee mark 30px lower without changing its
   horizontal coordinate. Apply the same offset to every Burgintee screen so
   the mark does not jump when navigating between interface states/routes. */
.bt-home .bt-wordmark,
.bt-statement .bt-wordmark,
.bt-shop .bt-wordmark,
.bt-product-page .bt-wordmark,
.bt-cart .bt-wordmark,
.bt-archive .bt-wordmark,
.bt-page .bt-wordmark,
.bt-password .bt-wordmark {
  top: calc(13.489583333% + 30px);
}

/* Desktop horizontal lock — keep the master composition on one fixed viewport
   axis whether an opened panel adds/removes vertical document scrolling. */
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  html {
    overflow-y: scroll;
    scrollbar-gutter: stable;
  }

  .bt-home .bt-reference-frame,
  .bt-statement .bt-reference-frame,
  .bt-shop .bt-reference-frame,
  .bt-product-page .bt-reference-frame,
  .bt-cart .bt-reference-frame,
  .bt-archive .bt-reference-frame,
  .bt-page .bt-reference-frame,
  .bt-password .bt-reference-frame {
    left: 50vw !important;
  }
}
\n\n/* 2026-09-24 — hard desktop no-shift lock for MAILING LIST.\n   The expanding email bar is paint-only: it cannot alter document width,\n   scrollbar geometry, or the master frame's horizontal position. */\n@media (min-width: 769px) and (hover: hover) and (pointer: fine) {\n  html, body, .bt-shell {\n    max-width: 100%;\n    overflow-x: clip !important;\n  }\n\n  .bt-home {\n    contain: layout paint;\n  }\n\n  .bt-home .bt-reference-frame {\n    left: 50% !important;\n    margin-left: 0 !important;\n    translate: none !important;\n    transform: translate(-50%, -50%) !important;\n  }\n\n  .bt-home .bt-newsletter,\n  .bt-home .bt-newsletter__input-wrap {\n    contain: layout paint;\n  }\n\n  .bt-home .bt-newsletter__input {\n    scroll-margin: 0 !important;\n  }\n}\n