/* CB Production V30.183 · app shell + simplified memberships */
:root{
  --cb-app-header-h:72px;
  --cb-app-black:#050505;
  --cb-app-panel:#242424;
  --cb-app-panel-hover:#2b2b2b;
  --cb-app-white:#fff;
  --cb-app-muted:rgba(255,255,255,.66);
  --cb-app-line:rgba(255,255,255,.10);
  --cb-app-gold:#e0b048;
}

html{scroll-padding-top:calc(var(--cb-app-header-h) + 18px)!important;}
body{padding-top:var(--cb-app-header-h)!important;}

/* One continuous black app bar. Existing route controls stay intact. */
.cb-app-header-band{
  position:fixed!important;
  z-index:10070!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:var(--cb-app-header-h)!important;
  background:var(--cb-app-black)!important;
  border-bottom:1px solid var(--cb-app-line)!important;
  box-shadow:0 10px 32px rgba(0,0,0,.24)!important;
}

.cb-floating-logo,
.cb-member-float,
.site-lang-top,
.cb-top-instagram-link,
.cb-bubble-nav{
  position:fixed!important;
  z-index:10110!important;
  opacity:1!important;
  visibility:visible!important;
}

.cb-floating-logo{
  top:0!important;
  left:24px!important;
  width:72px!important;
  height:var(--cb-app-header-h)!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  transform:none!important;
}
.cb-floating-logo img{
  display:block!important;
  width:auto!important;
  height:34px!important;
  max-width:72px!important;
  object-fit:contain!important;
  filter:none!important;
}

.cb-bubble-nav,
body.cb-nav-docked .cb-bubble-nav{
  top:0!important;
  left:112px!important;
  right:292px!important;
  bottom:auto!important;
  width:auto!important;
  height:var(--cb-app-header-h)!important;
  max-width:none!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  transform:none!important;
  overflow:visible!important;
}
.cb-bubble-scroll,
body.cb-nav-docked .cb-bubble-scroll{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:2px!important;
  padding:0!important;
  margin:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
}
.cb-bubble-scroll::-webkit-scrollbar{display:none!important;}
.cb-bubble-link,
body.cb-nav-docked .cb-bubble-link{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(255,255,255,.62)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
  transition:color .18s ease,background .18s ease!important;
}
.cb-bubble-link:hover{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  transform:none!important;
}
.cb-bubble-link.active,
.cb-bubble-link.is-active{
  color:#fff!important;
  background:#242424!important;
}

.site-lang-top{
  top:17px!important;
  right:202px!important;
  left:auto!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  padding:3px!important;
  border:1px solid var(--cb-app-line)!important;
  border-radius:999px!important;
  background:#181818!important;
  box-shadow:none!important;
  transform:none!important;
}
.site-lang-top button{
  min-width:34px!important;
  height:30px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:rgba(255,255,255,.56)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
}
.site-lang-top button.on{background:#333!important;color:#fff!important;}

.cb-top-instagram-link{
  top:17px!important;
  right:154px!important;
  left:auto!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(255,255,255,.68)!important;
  transform:none!important;
}
.cb-top-instagram-link:hover{background:#242424!important;color:#fff!important;}
.cb-top-instagram-link svg{width:19px!important;height:19px!important;color:currentColor!important;}

.cb-member-float{
  top:15px!important;
  right:18px!important;
  left:auto!important;
  width:auto!important;
  min-width:126px!important;
  max-width:none!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#050505!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
  white-space:nowrap!important;
  transform:none!important;
  transition:transform .18s ease,background .18s ease!important;
}
.cb-member-float:hover,.cb-member-float.is-active{
  background:#f0f0f0!important;
  color:#050505!important;
  transform:scale(1.025)!important;
}

/* A persistent app header does not disappear while scrolling. */
body.cb-nav-hidden .cb-bubble-nav,
body.cb-nav-hidden .cb-floating-logo,
body.cb-nav-hidden .cb-member-float,
body.cb-nav-hidden .site-lang-top,
body.cb-nav-hidden .cb-top-instagram-link{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
.cb-mobile-panel-btn{display:none!important;}
.cb-mobile-nav-heading,.cb-mobile-nav-footer{display:none!important;}

/* Spotify-like information density, adapted to CB's own visual identity. */
#home-page .memberships-section{
  background:#121212!important;
  color:#fff!important;
  padding:0!important;
}
#home-page .memberships-section::before,
#home-page .memberships-section::after,
#home-page .memberships-section .grain-m{display:none!important;}
#home-page .memberships-inner{
  max-width:1200px!important;
  padding:78px 24px 92px!important;
}
#home-page .memberships-section .m-hdr{
  margin:0 0 34px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
}
#home-page .memberships-section .m-title,
#home-page .memberships-section .m-title .t1,
#home-page .memberships-section .m-title .t2{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(38px,4.5vw,62px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  font-weight:900!important;
  text-transform:none!important;
}
#home-page .memberships-section .m-right{
  width:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin:0!important;
}
#home-page .memberships-section .currency-note{
  width:auto!important;
  max-width:220px!important;
  margin:0!important;
  color:rgba(255,255,255,.48)!important;
  font-size:12px!important;
  line-height:1.35!important;
  text-align:right!important;
}
#home-page .memberships-section .m-toggle,
#home-page .memberships-section .cb-tax-toggle{
  border-color:var(--cb-app-line)!important;
  background:#242424!important;
  border-radius:999px!important;
}
#home-page .memberships-section .m-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:18px!important;
}
#home-page .memberships-section .m-card,
#home-page .memberships-section .m-card.feat,
#home-page .memberships-section .m-card.ins{
  --plan-accent:#e0b048;
  position:relative!important;
  min-width:0!important;
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:14px!important;
  background:var(--cb-app-panel)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transform:none!important;
}
#home-page .memberships-section .m-card:nth-child(1){--plan-accent:#e4b44f;}
#home-page .memberships-section .m-card:nth-child(2){--plan-accent:#f2cf73;}
#home-page .memberships-section .m-card:nth-child(3){--plan-accent:#ee9456;}
#home-page .memberships-section .m-card.ins{
  --plan-accent:#d9c5a9;
  grid-column:2!important;
}
#home-page .memberships-section .m-card:hover{
  border-color:rgba(255,255,255,.14)!important;
  background:var(--cb-app-panel-hover)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
  transform:translateY(-3px)!important;
}
#home-page .memberships-section .m-line{display:none!important;}
#home-page .memberships-section .m-head{
  min-height:176px!important;
  padding:24px 24px 18px!important;
}
#home-page .memberships-section .m-pn{
  margin:0 0 12px!important;
  color:rgba(255,255,255,.70)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}
#home-page .memberships-section .m-name,
#home-page .memberships-section .m-card.feat .m-name,
#home-page .memberships-section .m-card.ins .m-name{
  margin:0 0 10px!important;
  background:none!important;
  color:var(--plan-accent)!important;
  -webkit-text-fill-color:currentColor!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:.96!important;
  font-weight:900!important;
  letter-spacing:-.05em!important;
}
#home-page .memberships-section .m-desc{
  min-height:0!important;
  margin:0!important;
  display:block!important;
  color:rgba(255,255,255,.68)!important;
  font-size:14px!important;
  line-height:1.48!important;
  font-weight:500!important;
}
#home-page .memberships-section .m-price{
  min-height:90px!important;
  padding:18px 24px!important;
  border-top:1px solid var(--cb-app-line)!important;
  border-bottom:0!important;
}
#home-page .memberships-section .price-mo,
#home-page .memberships-section .price-yr{align-items:flex-end!important;gap:7px!important;}
#home-page .memberships-section .p-amt,
#home-page .memberships-section .m-card.feat .p-amt,
#home-page .memberships-section .m-card.ins .p-amt{
  background:none!important;
  color:#fff!important;
  -webkit-text-fill-color:currentColor!important;
  font-size:40px!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  font-weight:900!important;
}
#home-page .memberships-section .p-per{
  color:rgba(255,255,255,.62)!important;
  font-size:13px!important;
  line-height:1.25!important;
}
#home-page .memberships-section .p-save{
  margin-top:8px!important;
  color:rgba(255,255,255,.50)!important;
  font-size:11px!important;
  line-height:1.4!important;
}
#home-page .memberships-section .p-sel{
  color:#fff!important;
  font-size:28px!important;
  font-weight:900!important;
}
#home-page .memberships-section .tax-note{
  display:inline!important;
  margin:0!important;
  color:rgba(255,255,255,.44)!important;
  font-size:10px!important;
}
#home-page .memberships-section .m-cred{
  min-height:82px!important;
  padding:16px 24px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border-top:1px solid var(--cb-app-line)!important;
  border-bottom:1px solid var(--cb-app-line)!important;
}
#home-page .memberships-section .m-cn,
#home-page .memberships-section .m-card.feat .m-cn,
#home-page .memberships-section .m-card.ins .m-cn{
  flex:0 0 auto!important;
  background:none!important;
  color:var(--plan-accent)!important;
  -webkit-text-fill-color:currentColor!important;
  font-size:38px!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
  transform:none!important;
}
#home-page .memberships-section .m-cl{
  color:#fff!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#home-page .memberships-section .m-cs{
  margin-top:3px!important;
  color:rgba(255,255,255,.48)!important;
  font-size:11px!important;
  line-height:1.3!important;
}
#home-page .memberships-section .m-feats{
  flex:1 1 auto!important;
  padding:17px 24px 8px!important;
}
#home-page .memberships-section .m-feat{
  position:relative!important;
  min-height:0!important;
  padding:7px 0 7px 16px!important;
  border:0!important;
  color:rgba(255,255,255,.88)!important;
  font-size:14px!important;
  line-height:1.38!important;
  font-weight:600!important;
}
#home-page .memberships-section .m-feat::before{
  content:'•'!important;
  position:absolute!important;
  left:0!important;
  top:7px!important;
  color:var(--plan-accent)!important;
}
#home-page .memberships-section .m-fd{display:none!important;}
#home-page .memberships-section .m-cta{padding:16px 24px 24px!important;}
#home-page .memberships-section .m-btn{
  width:100%!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--plan-accent)!important;
  color:#080808!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transform:none!important;
  transition:filter .18s ease,transform .18s ease!important;
}
#home-page .memberships-section .m-btn::before{display:none!important;}
#home-page .memberships-section .m-btn:hover{
  filter:brightness(1.06)!important;
  transform:scale(1.015)!important;
}
#home-page .memberships-section .m-bt{
  color:#080808!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

@media(max-width:1120px) and (min-width:901px){
  .cb-bubble-nav,body.cb-nav-docked .cb-bubble-nav{right:158px!important;}
  .site-lang-top,.cb-top-instagram-link{display:none!important;}
  #home-page .memberships-section .m-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #home-page .memberships-section .m-card.ins{grid-column:auto!important;}
}

@media(max-width:900px){
  :root{--cb-app-header-h:calc(62px + env(safe-area-inset-top,0px));}
  html{scroll-padding-top:calc(var(--cb-app-header-h) + 12px)!important;}
  body{padding-top:var(--cb-app-header-h)!important;}
  .cb-app-header-band{height:var(--cb-app-header-h)!important;}
  .cb-floating-logo{
    top:env(safe-area-inset-top,0px)!important;
    left:16px!important;
    width:66px!important;
    height:62px!important;
  }
  .cb-floating-logo img{height:30px!important;max-width:66px!important;}
  .cb-member-float{
    top:calc(12px + env(safe-area-inset-top,0px))!important;
    right:62px!important;
    min-width:0!important;
    max-width:126px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 14px!important;
    font-size:10px!important;
    letter-spacing:.02em!important;
  }
  .cb-mobile-panel-btn{
    position:fixed!important;
    z-index:10130!important;
    top:calc(12px + env(safe-area-inset-top,0px))!important;
    right:12px!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:50%!important;
    background:#181818!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .cb-mobile-panel-btn::before{
    content:'☰'!important;
    color:#fff!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:500!important;
  }
  body.cb-mobile-menu-open .cb-mobile-panel-btn::before{content:'×'!important;font-size:24px!important;font-weight:300!important;}
  .site-lang-top,.cb-top-instagram-link{display:none!important;}
  body.cb-nav-hidden:not(.cb-mobile-menu-open) .cb-floating-logo,
  body.cb-nav-hidden:not(.cb-mobile-menu-open) .cb-member-float,
  body.cb-nav-hidden:not(.cb-mobile-menu-open) .cb-mobile-panel-btn{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .cb-bubble-nav,
  body.cb-nav-docked .cb-bubble-nav,
  body:not(.cb-mobile-menu-open) .cb-bubble-nav{
    position:fixed!important;
    z-index:10080!important;
    top:var(--cb-app-header-h)!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:calc(100dvh - var(--cb-app-header-h))!important;
    max-width:none!important;
    display:block!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#080808!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    overflow-y:auto!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    clip-path:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .18s ease,transform .22s ease,visibility 0s linear .22s!important;
  }
  body.cb-mobile-menu-open .cb-bubble-nav,
  body.cb-mobile-menu-open.cb-nav-docked .cb-bubble-nav{
    top:var(--cb-app-header-h)!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:calc(100dvh - var(--cb-app-header-h))!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    clip-path:none!important;
    transform:none!important;
    transition:opacity .18s ease,transform .22s ease,visibility 0s!important;
  }
  .cb-bubble-scroll,
  body.cb-nav-docked .cb-bubble-scroll{
    width:100%!important;
    height:auto!important;
    min-height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    margin:0!important;
    padding:30px 22px calc(24px + env(safe-area-inset-bottom,0px))!important;
    border:0!important;
    border-radius:0!important;
    background:#080808!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .cb-mobile-nav-heading{
    display:block!important;
    padding:0 0 16px!important;
    color:rgba(255,255,255,.42)!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }
  .cb-bubble-link,
  body.cb-nav-docked .cb-bubble-link{
    width:100%!important;
    height:auto!important;
    min-height:58px!important;
    padding:0 2px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    border:0!important;
    border-bottom:1px solid var(--cb-app-line)!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.74)!important;
    font-size:22px!important;
    line-height:1.1!important;
    font-weight:750!important;
    letter-spacing:-.025em!important;
    text-align:left!important;
    text-transform:none!important;
    transform:none!important;
  }
  .cb-bubble-link::after{
    content:'›'!important;
    color:rgba(255,255,255,.34)!important;
    font-size:24px!important;
    line-height:1!important;
  }
  .cb-bubble-link.active,.cb-bubble-link.is-active{
    color:#fff!important;
    background:transparent!important;
  }
  .cb-mobile-nav-footer{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-top:auto!important;
    padding-top:26px!important;
    border:0!important;
  }
  .cb-mobile-nav-ig{
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.70)!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  .cb-mobile-nav-lang{
    display:flex!important;
    gap:2px!important;
    padding:3px!important;
    border:1px solid var(--cb-app-line)!important;
    border-radius:999px!important;
    background:#181818!important;
  }
  .cb-mobile-nav-lang button{
    min-width:38px!important;
    height:32px!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:rgba(255,255,255,.55)!important;
    font-size:11px!important;
    font-weight:800!important;
  }
  .cb-mobile-nav-lang button.on{background:#333!important;color:#fff!important;}

  #home-page .memberships-inner{padding:58px 18px 68px!important;}
  #home-page .memberships-section .m-hdr{
    margin-bottom:24px!important;
    display:block!important;
  }
  #home-page .memberships-section .m-title,
  #home-page .memberships-section .m-title .t1,
  #home-page .memberships-section .m-title .t2{font-size:42px!important;}
  #home-page .memberships-section .m-right{
    margin-top:16px!important;
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
  #home-page .memberships-section .currency-note{
    flex:1 0 100%!important;
    max-width:none!important;
    text-align:left!important;
  }
  #home-page .memberships-section .m-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  #home-page .memberships-section .m-card,
  #home-page .memberships-section .m-card.feat,
  #home-page .memberships-section .m-card.ins{
    grid-column:auto!important;
    min-height:0!important;
    border-radius:12px!important;
  }
  #home-page .memberships-section .m-head{min-height:0!important;padding:22px 20px 16px!important;}
  #home-page .memberships-section .m-name,
  #home-page .memberships-section .m-card.feat .m-name,
  #home-page .memberships-section .m-card.ins .m-name{font-size:35px!important;}
  #home-page .memberships-section .m-price{min-height:0!important;padding:16px 20px!important;}
  #home-page .memberships-section .p-amt{font-size:37px!important;}
  #home-page .memberships-section .m-cred{min-height:0!important;padding:15px 20px!important;}
  #home-page .memberships-section .m-cn{font-size:34px!important;}
  #home-page .memberships-section .m-feats{padding:14px 20px 6px!important;}
  #home-page .memberships-section .m-feat{font-size:14px!important;}
  #home-page .memberships-section .m-cta{padding:14px 20px 22px!important;}
}

@media(max-width:410px){
  .cb-member-float{max-width:116px!important;padding:0 12px!important;font-size:9px!important;}
}

@media(prefers-reduced-motion:reduce){
  .cb-bubble-link,.cb-member-float,#home-page .memberships-section .m-card,#home-page .memberships-section .m-btn{transition:none!important;}
}
