:root {
  --bw-ink: #101010;
  --bw-mute: #5a5a5a;
  --bw-paper: #ffffff;
  --bw-wash: #f3f3f3;
  --bw-line: #e4e4e4;
  --bw-teal: #0caa7d;
  --bw-mint: #6bd1bd;
  --bw-red: #fb1004;
  --bw-red-deep: #b00b03;
  --bw-navy: #201f33;
  --bw-cyan: #0878a0;
  --bw-tool-h: 2.5rem;
  --bw-pad: 1.1rem;
  --bw-col: 1100px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: system-ui, "Segoe UI", sans-serif;
  color: var(--bw-ink);
  background: var(--bw-paper);
  line-height: 1.55;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--bw-cyan);
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--bw-teal);
}

button,
input {
  font: inherit;
}

.bwHide {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.bwShell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.bwStage,
.bwTopInner,
.bwRibbonInner,
.bwBaseInner,
.bwMailFoot {
  width: min(var(--bw-col), calc(100% - 2 * var(--bw-pad)));
  margin-left: auto;
  margin-right: auto;
}

.bwStage {
  flex: 1;
  padding: 1.4rem 0 2.4rem;
}

.bwPage,
.bwHomeCta,
.bwHomeFlow,
.bwHomeSkill,
.bwHomeShop,
.bwHomeContact,
.bwDocFlow,
.bwDocShop,
.bwDocContact,
.bwHubNote,
.bwHubFlow,
.bwHubShop,
.bwHubContact,
.bwStaticFlow,
.bwStaticContact,
.bwFallback {
  min-width: 0;
}

.bwTop {
  padding: 0.85rem 0;
  background: var(--bw-paper);
}

.bwTopInner {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.bwMark {
  flex: 0 0 auto;
  width: 7.4rem;
}

.bwMark img {
  display: block;
  width: 100%;
  height: auto;
}

.bwMini {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
}

.bwUtil {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
}

.bwUtilLink {
  color: var(--bw-ink);
}

.bwUtilLink:hover,
.bwUtilLink:focus {
  color: var(--bw-teal);
}

.bwTools {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.bwRibbon {
  background: var(--bw-teal);
  color: var(--bw-paper);
  position: relative;
}

.bwRibbonInner {
  display: flex;
  align-items: center;
  position: relative;
}

.bwBurger {
  display: none;
  width: var(--bw-tool-h);
  height: var(--bw-tool-h);
  border: 0;
  background: var(--bw-red);
  color: var(--bw-paper);
  position: relative;
  margin-left: auto;
}

.bwBurgerBars,
.bwBurgerBars::before,
.bwBurgerBars::after {
  display: block;
  width: 1.1rem;
  height: 2px;
  background: currentColor;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.bwBurgerBars {
  top: 50%;
}

.bwBurgerBars::before {
  content: "";
  top: -6px;
}

.bwBurgerBars::after {
  content: "";
  top: 6px;
}

.bwFold {
  display: flex;
  flex: 1;
  align-items: center;
}

.bwNav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.bwNavItem {
  position: relative;
  display: flex;
  align-items: center;
}

.bwNavLink,
.bwNavChild {
  color: var(--bw-paper);
}

.bwNavLink {
  display: block;
  padding: 0.85rem 1.2rem;
}

.bwNavLink:hover,
.bwNavLink:focus,
.bwNavChild:hover,
.bwNavChild:focus {
  color: var(--bw-paper);
  background: #097a5a;
}

.bwNavDrop {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 12rem;
  flex-direction: column;
  background: #097a5a;
  z-index: 25;
}

.bwNavDrop:empty {
  display: none;
}

.bwNavItem:hover .bwNavDrop:not(:empty),
.bwNavItem:focus-within .bwNavDrop:not(:empty) {
  display: flex;
}

.bwNavChild {
  display: block;
  padding: 0.5rem 0.9rem;
}

.bwTrail {
  margin: 0 0 1rem;
}

.bwTrailList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--bw-mute);
  font-size: 0.92rem;
}

.bwTrailItem a {
  color: var(--bw-mute);
}

.bwTrailNow {
  color: var(--bw-ink);
}

.bwLead,
.bwBand,
.bwSlice,
.bwDetails,
.bwHero,
.bwGroups {
  margin: 0 0 1.2rem;
}

.bwLeadTitle,
.bwBandTitle,
.bwSliceTitle,
.bwDetailsTitle,
.bwHeroTitle,
.bwGroupsTitle,
.bwGroupName {
  margin: 0 0 0.65rem;
  position: relative;
  display: inline-block;
  padding-bottom: 0.35rem;
}

.bwLeadTitle::before,
.bwBandTitle::before,
.bwSliceTitle::before,
.bwDetailsTitle::before,
.bwHeroTitle::before,
.bwGroupsTitle::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3.4rem;
  height: 3px;
  background: var(--bw-mint);
}

.bwHeroTitle {
  font-size: clamp(2rem, 5vw, 3.6rem);
  font-weight: 700;
}

.bwHeroBody,
.bwIntro,
.bwSummary,
.bwCopy {
  margin: 0 0 1rem;
}

.bwHint {
  display: block;
  margin: 0 0 1rem;
  padding: 0.75rem 0.9rem;
  background: var(--bw-wash);
  font-style: normal;
}

.bwList,
.bwSteps,
.bwChecks,
.bwDetailsList {
  margin: 0 0 1rem;
  padding-left: 1.2rem;
}

.bwChecks {
  list-style: none;
  padding-left: 0;
}

.bwChecks li {
  position: relative;
  padding-left: 1.4rem;
  margin: 0.35rem 0;
}

.bwChecks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--bw-teal);
}

.bwFaq {
  display: grid;
  gap: 0.7rem;
  margin: 0 0 1.2rem;
}

.bwFaqItem {
  padding: 0.75rem 0.9rem;
  background: var(--bw-wash);
}

.bwFaqQ,
.bwFaqA {
  margin: 0;
}

.bwFaqQ {
  margin-bottom: 0.3rem;
}

.bwCompare {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 1.2rem;
  padding: 0;
  list-style: none;
}

.bwCompareRow {
  display: grid;
  grid-template-columns: minmax(7rem, 12rem) minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--bw-line);
}

.bwCompareKey {
  color: var(--bw-ink);
}

.bwCompareVal {
  color: var(--bw-mute);
}

.bwPhoto {
  margin: 0 0 1.1rem;
}

.bwPhoto img,
.bwInset img,
.bwCardThumb,
.bwGroupThumb,
.bwShopImg,
.bwInlineImg,
.bwTeaserImg {
  display: block;
  width: 100%;
  height: auto;
}

.bwInset {
  display: block;
  float: right;
  width: min(16rem, 42%);
  margin: 0 0 0.9rem 1rem;
  quotes: none;
}

.bwExt {
  margin: 0 0 1rem;
}

.bwExtLead,
.bwExtTail {
  color: var(--bw-mute);
}

.bwCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 1.2rem;
  padding: 0;
  list-style: none;
}

.bwCardsHead {
  grid-column: 1 / -1;
  font-weight: 700;
  font-size: 1.35rem;
}

.bwCard {
  margin: 0;
}

.bwCardInner {
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem;
  background: var(--bw-wash);
  border-radius: 12px;
}

.bwCardLink {
  font-weight: 700;
  color: var(--bw-ink);
}

.bwCardLink:hover,
.bwCardLink:focus {
  color: var(--bw-teal);
}

.bwCardText {
  margin: 0;
}

.bwXlinks {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 0 1.1rem;
  padding: 0.8rem 1rem;
  background: var(--bw-wash);
}

.bwXlinksHead {
  font-weight: 700;
}

.bwXlink {
  color: var(--bw-cyan);
}

.bwXlink:hover,
.bwXlink:focus {
  color: var(--bw-teal);
}

.bwGroups {
  display: grid;
  gap: 1rem;
}

.bwGroup {
  display: grid;
  gap: 0.4rem;
}

.bwGroupLink {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.bwGroupThumb {
  width: 2.4rem;
}

.bwShop,
.bwInlineShop {
  display: grid;
  gap: 1rem;
  width: 100%;
}

.bwShopPanel,
.bwInlinePanel {
  display: block;
}

.bwShopRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(8rem, 13rem);
  gap: 1rem;
  align-items: start;
}

.bwShopMain,
.bwInlineShop {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.bwShopCard,
.bwTeaser,
.bwInlineCard {
  margin: 0;
  padding: 1rem;
  background: var(--bw-wash);
  border-radius: 12px;
}

.bwShopName,
.bwTeaserName {
  margin: 0 0 0.35rem;
}

.bwShopDesc,
.bwTeaserText {
  margin: 0;
}

.bwShopMedia .bwShopImg {
  margin: 0;
}

.bwBuybar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}

.bwTabs,
.shop-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.shop-tab-button {
  border: 0;
  background: var(--bw-wash);
  color: var(--bw-ink);
  padding: 0.4rem 0.8rem;
}

.shop-tab-button:hover,
.shop-tab-button:focus,
.shop-tab-button.is-active {
  background: var(--bw-teal);
  color: var(--bw-paper);
}

.shop-tab-panel[hidden] {
  display: none;
}

.bwOptions,
.shop-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.bwBuy,
.shop-option {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem 0.6rem;
  border: 0;
  background: var(--bw-navy);
  color: var(--bw-paper);
  padding: 0.5rem 0.85rem;
}

.bwBuy:hover,
.bwBuy:focus,
.shop-option:hover,
.shop-option:focus {
  background: var(--bw-red);
}

.shop-option-dosage,
.shop-option-label,
.shop-option-price {
  display: inline-block;
}

.shop-trust-notice {
  margin: 0.35rem 0 0;
  color: var(--bw-mute);
  font-size: 0.9rem;
}

.bwInlineCard {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
}

.bwTeasers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.bwTeasers > .shop-trust-notice {
  grid-column: 1 / -1;
}

.bwMailRow,
.bwMailFoot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.bwMail,
.bwPhone {
  color: var(--bw-cyan);
}

.bwMail:hover,
.bwMail:focus,
.bwPhone:hover,
.bwPhone:focus {
  color: var(--bw-teal);
}

.bwMailFoot {
  padding: 0.6rem 0 1.2rem;
}

.bwCtaWrap {
  margin: 1rem 0 0;
}

.bwGo,
.bwCartCheckout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: var(--bw-red);
  color: var(--bw-paper);
  padding: 0.65rem 1.4rem;
  border-radius: 10px;
}

.bwGo:hover,
.bwGo:focus,
.bwCartCheckout:hover,
.bwCartCheckout:focus {
  background: var(--bw-red-deep);
  color: var(--bw-paper);
}

.bwCartCheckout:disabled {
  opacity: 0.45;
}

.bwCartChip,
.bwTalkRoot {
  display: inline-flex;
}

.bwCartChip[hidden] {
  display: none;
}

.bwCartOpen,
.bwTalkOpen {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: var(--bw-tool-h);
  border: 0;
  background: var(--bw-red);
  color: var(--bw-paper);
  padding: 0 0.7rem;
}

.bwCartOpen:hover,
.bwCartOpen:focus,
.bwTalkOpen:hover,
.bwTalkOpen:focus {
  background: var(--bw-red-deep);
}

.bwCartIcon,
.bwTalkIcon {
  display: inline-flex;
  position: relative;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.bwCartIcon,
.bwCartIcon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.bwTalkIcon {
  width: 1.1rem;
  height: 0.78rem;
  border: 1.8px solid currentColor;
  border-radius: 1px;
}

.bwTalkIcon::before,
.bwTalkIcon::after {
  content: "";
  position: absolute;
  top: 2px;
  width: 58%;
  height: 1.8px;
  background: currentColor;
}

.bwTalkIcon::before {
  left: 2px;
  transform: rotate(32deg);
  transform-origin: left top;
}

.bwTalkIcon::after {
  right: 2px;
  transform: rotate(-32deg);
  transform-origin: right top;
}

.bwCartLayer,
.bwTalkLayer {
  position: fixed;
  inset: 0;
  z-index: 50;
}

.bwCartLayer[hidden],
.bwTalkLayer[hidden] {
  display: none;
}

.bwCartScrim,
.bwTalkScrim {
  position: absolute;
  inset: 0;
  background: rgba(16, 16, 16, 0.45);
}

.bwCartCard {
  position: absolute;
  left: 50%;
  top: calc(0.85rem + var(--bw-tool-h) + 3.1rem);
  transform: translateX(-50%);
  width: min(28rem, calc(100% - 2.2rem));
  max-height: min(80vh, 36rem);
  background: var(--bw-paper);
  padding: 1rem 1.1rem 1.2rem;
  display: flex;
  flex-direction: column;
}

.bwTalkCard {
  position: absolute;
  left: 1.1rem;
  top: calc(0.85rem + var(--bw-tool-h) + 0.4rem);
  width: min(22rem, calc(100% - 2.2rem));
  background: var(--bw-paper);
  padding: 1rem 1.1rem 1.2rem;
  display: grid;
  gap: 0.5rem;
}

@media (min-width: 901px) {
  .bwTalkCard {
    left: max(var(--bw-pad), calc((100% - var(--bw-col)) / 2));
  }
}

.bwCartHead,
.bwTalkHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.bwCartTitle,
.bwTalkTitle {
  margin: 0;
  min-width: 0;
}

.bwCartClose,
.bwTalkClose {
  flex: 0 0 auto;
  margin-left: auto;
  width: 2rem;
  height: 2rem;
  border: 0;
  background: var(--bw-wash);
  position: relative;
  font-size: 0;
  color: transparent;
}

.bwCartClose::before,
.bwCartClose::after,
.bwTalkClose::before,
.bwTalkClose::after {
  content: "";
  position: absolute;
  left: 0.4rem;
  right: 0.4rem;
  top: 50%;
  height: 2px;
  background: var(--bw-ink);
}

.bwCartClose::before,
.bwTalkClose::before {
  transform: rotate(45deg);
}

.bwCartClose::after,
.bwTalkClose::after {
  transform: rotate(-45deg);
}

.bwCartEmpty,
.bwCartNotice,
.bwCartTotal,
.bwCartSum {
  margin: 0.35rem 0;
}

.bwCartItems {
  overflow: auto;
}

.shop-cart-row {
  display: grid;
  grid-template-areas:
    "image title remove"
    "image option remove"
    "image price qty";
  grid-template-columns: 3.2rem minmax(0, 1fr) auto;
  gap: 0.25rem 0.7rem;
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--bw-line);
}

.shop-cart-image {
  grid-area: image;
  width: 3rem;
  height: auto;
}

.shop-cart-title {
  grid-area: title;
  font-weight: 700;
}

.shop-cart-option {
  grid-area: option;
  color: var(--bw-mute);
  font-size: 0.88rem;
}

.shop-cart-price {
  grid-area: price;
  color: var(--bw-teal);
}

.shop-cart-qty {
  grid-area: qty;
  width: 3.4rem;
}

.shop-cart-remove {
  grid-area: remove;
  width: 1.8rem;
  height: 1.8rem;
  border: 0;
  background-color: var(--bw-wash);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
  font-size: 0;
  color: transparent;
}

.bwBase {
  background: var(--bw-navy);
  color: var(--bw-paper);
  padding: 2rem 0 1.2rem;
}

.bwBaseGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem 2rem;
  align-items: start;
}

.bwBaseCol {
  min-width: 0;
}

.bwBaseName,
.bwBaseDesc,
.bwBaseAddr,
.bwBaseCopy {
  margin: 0 0 0.45rem;
}

.bwFootNav,
.bwLegal {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
}

.bwFootLink,
.bwLegalLink,
.bwBase a {
  color: var(--bw-paper);
}

.bwFootLink {
  position: relative;
  padding-left: 1rem;
}

.bwFootLink::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.45rem;
  height: 0.45rem;
  background: var(--bw-teal);
}

.bwFootLink:hover,
.bwFootLink:focus,
.bwLegalLink:hover,
.bwLegalLink:focus,
.bwBase a:hover,
.bwBase a:focus {
  color: var(--bw-mint);
}

.bwConsent {
  position: fixed;
  left: 50%;
  bottom: 1.1rem;
  transform: translateX(-50%);
  z-index: 40;
  width: min(28rem, calc(100% - 2.2rem));
  display: grid;
  gap: 0.45rem;
  background: var(--bw-paper);
  padding: 0.9rem 1rem;
  box-shadow: 0 8px 24px rgba(16, 16, 16, 0.18);
}

.bwConsent[hidden] {
  display: none;
}

.bwConsentTitle {
  font-size: 1rem;
}

.bwConsentBody {
  color: var(--bw-mute);
}

.bwConsentMore {
  color: var(--bw-cyan);
}

.bwConsentMore:hover,
.bwConsentMore:focus {
  color: var(--bw-teal);
}

.bwConsentOk {
  justify-self: start;
  border: 0;
  background: var(--bw-teal);
  color: var(--bw-paper);
  padding: 0.45rem 0.9rem;
}

.bwConsentOk:hover,
.bwConsentOk:focus {
  background: #097a5a;
}

.bwTdsHero,
.bwTdsSkill,
.bwTdsHub {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1rem;
  margin: 0 0 1.1rem;
  padding: 0.85rem 1rem;
}

.bwTdsHero {
  background: var(--bw-red);
  color: var(--bw-paper);
}

.bwTdsSkill {
  background: var(--bw-teal);
  color: var(--bw-paper);
}

.bwTdsHub {
  background: var(--bw-wash);
}

@media (max-width: 900px) {
  .bwBurger {
    display: block;
  }

  .bwFold {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bw-teal);
    flex-direction: column;
    align-items: stretch;
    z-index: 20;
  }

  .bwRibbon-open .bwFold {
    display: flex;
  }

  .bwNav,
  .bwMini,
  .bwUtil {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
  }

  .bwNavItem {
    flex-direction: column;
    align-items: stretch;
  }

  .bwNavDrop,
  .bwNavItem:hover .bwNavDrop:not(:empty),
  .bwNavItem:focus-within .bwNavDrop:not(:empty) {
    display: flex;
    position: static;
    min-width: 0;
    padding: 0 0 0 0.9rem;
    background: transparent;
  }

  .bwNavDrop:empty {
    display: none;
  }

  .bwCartLabel,
  .bwTalkLabel {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .bwShopRow,
  .bwInlineCard,
  .bwCompareRow {
    grid-template-columns: 1fr;
  }

  .bwInset {
    float: none;
    width: 100%;
    margin: 0 0 0.9rem;
  }

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

  .bwBaseGrid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .bwCards,
  .bwTeasers {
    grid-template-columns: 1fr;
  }

  .bwBuybar {
    flex-direction: column;
    align-items: stretch;
  }

  .shop-cart-row {
    grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  }

  .shop-cart-image {
    width: 2.4rem;
  }
}
