/* Final VCM launch overrides. Keep this file small and load after style.css. */

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-restore-membership > div:first-child > h2{
  color:#1f1f1f!important;
  font-family:"Playfair Display",Georgia,serif!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
  line-height:.9!important;
  text-transform:lowercase!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature,
#vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows article{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  column-gap:24px!important;
  align-items:start!important;
  padding:clamp(28px,4vw,44px) 0!important;
  border-bottom:1px solid rgba(31,31,31,.14)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature:first-child,
#vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows article:first-child{
  border-top:1px solid rgba(31,31,31,.14)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature strong{
  display:contents!important;
}

#vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows article > div{
  display:block!important;
  min-width:0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list .vcm-benefit-num,
#vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows article > span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  height:54px!important;
  background:#E6EE4D!important;
  color:#1f1f1f!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.02em!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list .vcm-benefit-num{
  grid-column:1!important;
  grid-row:1 / span 2!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num),
#vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows h2{
  display:block!important;
  margin:0 0 18px!important;
  max-width:100%!important;
  color:#1f1f1f!important;
  font-family:"Playfair Display",Georgia,serif!important;
  font-size:clamp(28px,4vw,38px)!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:-.018em!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
  grid-column:2!important;
  grid-row:1!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature > span,
#vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows p{
  display:block!important;
  margin:0!important;
  padding:0!important;
  max-width:820px!important;
  color:rgba(31,31,31,.64)!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:clamp(18px,2.1vw,24px)!important;
  font-weight:400!important;
  line-height:1.42!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature > span{
  grid-column:2!important;
  grid-row:2!important;
}

@media(max-width:760px){
  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature,
  #vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows article{
    grid-template-columns:54px minmax(0,1fr)!important;
    column-gap:18px!important;
    padding:28px 0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num),
  #vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows h2{
    margin-bottom:12px!important;
    font-size:clamp(25px,7.2vw,31px)!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature > span,
  #vcm-root.vcm-restore.vcm-membership-page .vcm-included-rows p{
    font-size:18px!important;
    line-height:1.42!important;
  }
}

/* Final launch nav: keep the header persistent on every page. */
#vcm-root.vcm-restore{
  padding-top:54px!important;
}

#vcm-root.vcm-restore .vcm-topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-height:54px!important;
  z-index:2147483647!important;
  transform:none!important;
}

#vcm-root.vcm-restore .vcm-button,
#vcm-root.vcm-restore .vcm-footer-cta,
#vcm-root.vcm-restore button,
#vcm-root.vcm-restore input[type="button"],
#vcm-root.vcm-restore input[type="submit"]{
  font-family:"DM Mono","Courier New",monospace!important;
  font-weight:400!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

@media(max-width:390px){
  #vcm-root.vcm-restore{
    padding-top:82px!important;
  }
}

/* Final color + utility typography lock. */
#vcm-root,
#vcm-root.vcm-restore{
  --yellow:#E6EE4D!important;
  --vcm-yellow:#E6EE4D!important;
}

#vcm-root.vcm-restore .vcm-topbar,
#vcm-root.vcm-restore .vcm-button,
#vcm-root.vcm-restore .vcm-footer-cta,
#vcm-root.vcm-restore .vcm-nav-cta,
#vcm-root.vcm-restore .vcm-benefit-num,
#vcm-root.vcm-restore .vcm-included-rows article > span,
#vcm-root.vcm-restore .vcm-tag,
#vcm-root.vcm-restore .vcm-tag-lav,
#vcm-root.vcm-restore input[type="submit"]{
  background:#E6EE4D!important;
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore .section-tag,
#vcm-root.vcm-restore .vcm-kick,
#vcm-root.vcm-restore .vcm-price-label,
#vcm-root.vcm-restore .vcm-signal-stats strong,
#vcm-root.vcm-restore .vcm-room-label,
#vcm-root.vcm-restore .vcm-current-season{
  color:#E6EE4D!important;
}

#vcm-root.vcm-restore .vcm-button,
#vcm-root.vcm-restore .vcm-footer-cta,
#vcm-root.vcm-restore input[type="submit"],
#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-price-card .vcm-button,
#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-final-cta .vcm-button{
  font-family:"DM Mono","Courier New",monospace!important;
  font-weight:400!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

#vcm-root.vcm-restore .vcm-button:hover,
#vcm-root.vcm-restore .vcm-footer-cta:hover,
#vcm-root.vcm-restore input[type="submit"]:hover{
  background:#E6EE4D!important;
  color:#1F1F1F!important;
}

/* Homepage membership: tight editorial menu + clean women visual. */
#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-layout{
  grid-template-columns:minmax(0,.92fr) minmax(300px,.7fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  align-items:start!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership h2{
  font-family:"Playfair Display",Georgia,serif!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  margin-bottom:14px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-copy > p{
  max-width:520px!important;
  margin-bottom:28px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list{
  max-width:560px!important;
  gap:0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature{
  grid-template-columns:42px minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:6px!important;
  padding:22px 0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list .vcm-benefit-num{
  width:38px!important;
  height:38px!important;
  font-size:12px!important;
  line-height:38px!important;
  grid-row:1 / span 2!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
  font-size:clamp(25px,2.8vw,36px)!important;
  line-height:.98!important;
  margin:0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature > span{
  font-size:clamp(16px,1.55vw,20px)!important;
  line-height:1.38!important;
  max-width:420px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-application-panel{
  padding:24px!important;
  border-radius:12px!important;
  max-width:400px!important;
  margin-left:auto!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-application-panel .vcm-panel-image{
  display:block!important;
  width:100%!important;
  aspect-ratio:3 / 4!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:cover!important;
  object-position:50% 58%!important;
  border-radius:8px!important;
  filter:none!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-application-panel .vcm-button{
  margin-top:22px!important;
  width:100%!important;
}

@media(max-width:860px){
  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-layout{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-application-panel{
    max-width:100%!important;
    margin:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-application-panel .vcm-panel-image{
    aspect-ratio:4 / 5!important;
    max-height:560px!important;
    object-position:50% 60%!important;
  }
}

/* Join intake page: member info before checkout. */
#vcm-root.vcm-restore.vcm-join-page{
  --yellow:#E6EE4D!important;
  background:#F8F6EF!important;
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-main{
  width:min(1120px,calc(100% - clamp(32px,7vw,112px)))!important;
  margin:0 auto!important;
  padding:clamp(50px,7vw,92px) 0 clamp(72px,9vw,120px)!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-hero{
  max-width:none!important;
  margin-bottom:clamp(26px,4vw,48px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,320px)!important;
  gap:clamp(28px,5vw,72px)!important;
  align-items:end!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-hero-copy{
  max-width:880px!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-hero h1{
  margin:.25em 0 .22em!important;
  font-family:"Playfair Display",Georgia,serif!important;
  font-size:clamp(58px,9vw,132px)!important;
  font-weight:900!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-hero p{
  max-width:690px!important;
  margin:0!important;
  color:#1F1F1F!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:clamp(18px,2vw,24px)!important;
  line-height:1.45!important;
  font-weight:500!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-card{
  background:#FFFDF7!important;
  border:1px solid rgba(31,31,31,.18)!important;
  border-radius:12px!important;
  padding:clamp(24px,4vw,44px)!important;
  box-shadow:0 24px 72px rgba(31,31,31,.08)!important;
  position:relative!important;
  overflow:hidden!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0 0 auto!important;
  height:8px!important;
  background:#E6EE4D!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-visual{
  width:100%!important;
  aspect-ratio:3 / 4!important;
  margin:0!important;
  border:1px solid rgba(31,31,31,.16)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#D9D3C7!important;
  box-shadow:0 18px 48px rgba(31,31,31,.08)!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-visual img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center 38%!important;
  filter:saturate(.92) contrast(.96)!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-progress{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin:6px 0 clamp(24px,3vw,36px)!important;
  padding:0 0 18px!important;
  border-bottom:1px solid rgba(31,31,31,.18)!important;
  font-family:"DM Mono","Courier New",monospace!important;
  letter-spacing:.04em!important;
  text-transform:lowercase!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-progress span{
  position:relative!important;
  display:block!important;
  padding-top:16px!important;
  padding-right:14px!important;
  color:#3A3834!important;
  font-size:12px!important;
  line-height:1.35!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-progress span::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:3px!important;
  background:rgba(31,31,31,.18)!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-progress span.is-active{
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-progress span.is-active::before{
  background:#E6EE4D!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-intake-form{
  display:grid!important;
  gap:clamp(28px,4vw,42px)!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-form-section{
  display:grid!important;
  gap:20px!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-form-label{
  display:block!important;
  padding-bottom:12px!important;
  border-bottom:1px solid rgba(31,31,31,.18)!important;
  color:#1F1F1F!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:13px!important;
  font-weight:400!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:start!important;
}

#vcm-root.vcm-restore.vcm-join-page label{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:.04em!important;
  text-transform:lowercase!important;
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore.vcm-join-page label small{
  max-width:460px!important;
  color:#3A3834!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:14px!important;
  line-height:1.4!important;
  letter-spacing:0!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-whatsapp-note{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:6px!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
  border-left:4px solid #E6EE4D!important;
  background:rgba(230,238,77,.22)!important;
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore.vcm-join-page input,
#vcm-root.vcm-restore.vcm-join-page select{
  width:100%!important;
  min-height:58px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(31,31,31,.22)!important;
  border-radius:8px!important;
  background:#F8F6EF!important;
  color:#1F1F1F!important;
  padding:0 18px!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:17px!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
}

#vcm-root.vcm-restore.vcm-join-page input::placeholder{
  color:rgba(31,31,31,.48)!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-field-wide{
  grid-column:1 / -1!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-intake-form .vcm-button{
  width:100%!important;
  min-height:64px!important;
  border-radius:999px!important;
  background:#E6EE4D!important;
  color:#1F1F1F!important;
  border-color:#1F1F1F!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-form-note{
  margin:-22px 0 0!important;
  color:#3A3834!important;
  text-align:center!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:13px!important;
  letter-spacing:.04em!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-ft{
  background:#1F1F1F!important;
  color:#F8F6EF!important;
}

@media(max-width:760px){
  #vcm-root.vcm-restore.vcm-join-page .vcm-join-main{
    width:min(100% - 28px,680px)!important;
    padding-top:42px!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-form-grid{
    grid-template-columns:1fr!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-join-hero{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-join-visual{
    aspect-ratio:16 / 9!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-join-card{
    padding:24px 18px!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-progress{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    row-gap:14px!important;
  }
}

/* Beehiiv newsletter signup status. */
#vcm-root.vcm-restore .vcm-form-status{
  min-height:18px!important;
  margin:10px 0 0!important;
  color:#6B7280!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
}

#vcm-root.vcm-restore .vcm-form-status[data-state="success"]{
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore .vcm-form-status[data-state="error"]{
  color:#7B2F2F!important;
}

/* Homepage section stabilizer: Brand Guidelines V2, no drift between edits. */
#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse{
  padding-top:clamp(76px,8vw,118px)!important;
  padding-bottom:clamp(72px,8vw,110px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-layout{
  display:grid!important;
  grid-template-columns:minmax(340px,.74fr) minmax(520px,1.08fr)!important;
  gap:clamp(48px,7vw,92px)!important;
  align-items:center!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-feature{
  display:grid!important;
  grid-template-rows:auto auto!important;
  overflow:hidden!important;
  border:1px solid rgba(31,31,31,.09)!important;
  border-radius:18px!important;
  background:#F8F6EF!important;
  box-shadow:0 24px 70px rgba(31,31,31,.07)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-visuals{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16 / 5!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(31,31,31,.10)!important;
  background:#F8F6EF!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-visuals img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:74% center!important;
  transform:scale(1.18)!important;
  transform-origin:74% center!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup-inline{
  display:grid!important;
  grid-template-columns:minmax(170px,.75fr) minmax(320px,1fr)!important;
  gap:clamp(18px,3vw,34px)!important;
  align-items:center!important;
  padding:clamp(26px,3.5vw,42px)!important;
  margin:0!important;
  border:0!important;
  background:#F8F6EF!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup-inline label{
  margin:0!important;
  color:#1F1F1F!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:clamp(15px,1.35vw,18px)!important;
  font-weight:400!important;
  line-height:1.25!important;
  letter-spacing:.02em!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup-row{
  display:grid!important;
  grid-template-columns:minmax(320px,1fr) minmax(184px,auto)!important;
  gap:0!important;
  align-items:stretch!important;
  width:100%!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup .vcm-in{
  min-width:0!important;
  height:58px!important;
  border:1px solid rgba(31,31,31,.42)!important;
  border-right:0!important;
  border-radius:0!important;
  background:#F8F6EF!important;
  color:#1F1F1F!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-size:14px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup .vcm-button{
  min-width:184px!important;
  height:58px!important;
  padding:0 22px!important;
  border:1px solid rgba(31,31,31,.72)!important;
  border-radius:0!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup .vcm-form-status{
  grid-column:2!important;
  margin:8px 0 0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership{
  padding-top:clamp(78px,8vw,122px)!important;
  padding-bottom:clamp(80px,9vw,132px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-restore-membership{
  display:grid!important;
  grid-template-columns:minmax(520px,1fr) minmax(380px,480px)!important;
  gap:clamp(44px,6vw,74px)!important;
  align-items:start!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-restore-membership > div:first-child{
  min-width:0!important;
  max-width:620px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-restore-membership > div:first-child > h2{
  white-space:nowrap!important;
  font-size:clamp(64px,6vw,92px)!important;
  line-height:.88!important;
  margin:.18em 0 .18em!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-restore-membership > div:first-child > p{
  max-width:520px!important;
  margin-bottom:34px!important;
  font-size:clamp(17px,1.45vw,21px)!important;
  line-height:1.42!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list{
  width:100%!important;
  max-width:620px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature{
  grid-template-columns:52px minmax(0,1fr)!important;
  column-gap:26px!important;
  row-gap:10px!important;
  padding:28px 0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
  max-width:none!important;
  font-size:clamp(34px,3.5vw,48px)!important;
  line-height:.95!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature > span{
  max-width:520px!important;
  font-size:clamp(17px,1.7vw,23px)!important;
  line-height:1.36!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-application-panel{
  width:100%!important;
  max-width:480px!important;
  justify-self:end!important;
  margin-top:8px!important;
  padding:30px!important;
  border-radius:14px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-panel-image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4 / 5!important;
  max-height:560px!important;
  object-fit:cover!important;
  object-position:center 64%!important;
}

@media(max-width:980px){
  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-layout,
  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-restore-membership{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-feature,
  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-application-panel{
    max-width:100%!important;
    justify-self:stretch!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-restore-membership > div:first-child > h2{
    white-space:normal!important;
  }
}

@media(max-width:680px){
  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup-inline{
    grid-template-columns:1fr!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup .vcm-in{
    border-right:1px solid rgba(31,31,31,.42)!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup .vcm-button{
    width:100%!important;
    min-width:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-edit-signup .vcm-form-status{
    grid-column:1!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature{
    grid-template-columns:44px minmax(0,1fr)!important;
    column-gap:18px!important;
    padding:24px 0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
    font-size:clamp(28px,9vw,38px)!important;
  }
}

/* Final site stability pass: route-safe, desktop/mobile rhythm */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:#F8F6EF!important;
}

#vcm-root.vcm-restore{
  --yellow:#E6EE4D!important;
  --vcm-yellow:#E6EE4D!important;
  --cream:#F8F6EF!important;
  --charcoal:#1F1F1F!important;
  width:100%;
  min-height:100vh;
  overflow-x:hidden;
  background:#F8F6EF!important;
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore .vcm-topbar{
  position:sticky!important;
  top:0!important;
  z-index:2000!important;
  width:100%!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:12px clamp(20px,4vw,60px)!important;
  background:#E6EE4D!important;
  border-bottom:1px solid rgba(31,31,31,.18)!important;
  box-shadow:0 8px 24px rgba(31,31,31,.06)!important;
}

#vcm-root.vcm-restore .vcm-wordmark,
#vcm-root.vcm-restore .vcm-nav a{
  color:#1F1F1F!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-weight:400!important;
  letter-spacing:.04em!important;
  text-transform:lowercase!important;
  white-space:nowrap!important;
}

#vcm-root.vcm-restore .vcm-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(16px,2.8vw,36px)!important;
  flex-wrap:wrap!important;
}

#vcm-root.vcm-restore .vcm-button,
#vcm-root.vcm-restore button.vcm-button,
#vcm-root.vcm-restore .vcm-footer-cta{
  background:#E6EE4D!important;
  color:#1F1F1F!important;
  border-color:#1F1F1F!important;
  font-family:"DM Mono","Courier New",monospace!important;
  font-weight:400!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}

#vcm-root.vcm-restore .vcm-restore-wrap,
#vcm-root.vcm-restore .vcm-membership-shell,
#vcm-root.vcm-restore .vcm-join-main{
  width:min(100% - clamp(40px,8vw,128px), 1220px)!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#vcm-root.vcm-restore .vcm-restore-section,
#vcm-root.vcm-restore .vcm-restore-band,
#vcm-root.vcm-restore .vcm-room-now{
  padding-block:clamp(58px,7vw,104px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero{
  min-height:auto!important;
  padding:clamp(72px,8vw,118px) 0 clamp(44px,5vw,76px)!important;
  background-size:cover!important;
  background-position:center bottom!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero .vcm-restore-wrap{
  display:block!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero h2{
  max-width:1120px!important;
  margin-bottom:clamp(24px,3.4vw,48px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-line{
  margin-bottom:clamp(46px,6vw,84px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-sub{
  max-width:760px!important;
  margin-bottom:24px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-layout,
#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-membership,
#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-bigger-picture-grid{
  max-width:100%!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-past-grid{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(244px, 280px)!important;
  grid-template-columns:none!important;
  gap:22px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 0 22px!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-past-grid article{
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  scroll-snap-align:start!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-past-grid img{
  width:100%!important;
  aspect-ratio:4 / 3!important;
  height:auto!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:12px!important;
  border:1px solid rgba(31,31,31,.10)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin:28px 0 40px!important;
  background:#1F1F1F!important;
  color:#F8F6EF!important;
  border:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:0 22px 56px rgba(31,31,31,.11)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats span{
  padding:22px 24px!important;
  border-right:1px solid rgba(248,246,239,.18)!important;
  color:#F8F6EF!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats span:last-child{
  border-right:0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats strong{
  color:#E6EE4D!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership{
  grid-template-columns:minmax(0,1fr) minmax(320px,420px)!important;
  gap:clamp(40px,6vw,78px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list{
  margin-top:26px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature{
  padding:22px 0!important;
  grid-template-columns:44px minmax(0,1fr)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
  font-size:clamp(28px,3vw,42px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature > span{
  font-size:clamp(16px,1.35vw,20px)!important;
  line-height:1.38!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-application-panel{
  position:sticky!important;
  top:84px!important;
  align-self:start!important;
  max-width:420px!important;
  padding:24px!important;
  border-radius:16px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-panel-image{
  aspect-ratio:3 / 4!important;
  max-height:520px!important;
  object-position:center 58%!important;
  filter:saturate(.92) contrast(.96) brightness(.94)!important;
}

#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-main,
#vcm-root.vcm-restore.vcm-join-page .vcm-join-main{
  padding-top:0!important;
}

#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-hero{
  padding-block:clamp(48px,6vw,88px)!important;
}

#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-photo,
#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-price-card,
#vcm-root.vcm-restore.vcm-membership-page .vcm-member-fit,
#vcm-root.vcm-restore.vcm-membership-page .vcm-room-overview,
#vcm-root.vcm-restore.vcm-membership-page .vcm-rhythm,
#vcm-root.vcm-restore.vcm-membership-page .vcm-founders-note,
#vcm-root.vcm-restore.vcm-membership-page .vcm-faq{
  max-width:100%!important;
}

#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-photo img,
#vcm-root.vcm-restore.vcm-membership-page .vcm-final-cta-photo img{
  width:100%!important;
  height:auto!important;
  object-fit:cover!important;
}

#vcm-root.vcm-restore.vcm-membership-page .vcm-membership-price-card{
  margin-top:clamp(28px,4vw,56px)!important;
  padding:clamp(32px,4vw,48px)!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-hero{
  width:min(100% - clamp(40px,8vw,128px), 1220px)!important;
  margin:0 auto!important;
  padding:clamp(48px,6vw,84px) 0 clamp(24px,4vw,46px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,430px)!important;
  gap:clamp(32px,6vw,76px)!important;
  align-items:center!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-join-card{
  width:min(100% - clamp(40px,8vw,128px), 1180px)!important;
  margin:0 auto clamp(64px,7vw,96px)!important;
  padding:clamp(28px,5vw,60px)!important;
  border-radius:18px!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px 30px!important;
  align-items:start!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-form-grid label{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}

#vcm-root.vcm-restore.vcm-join-page .vcm-whatsapp-note{
  margin-top:4px!important;
  min-height:54px!important;
}

#vcm-root.vcm-restore .vcm-ft{
  padding:clamp(36px,5vw,64px) clamp(22px,5vw,72px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft{
  background:#F8F6EF!important;
  color:#1F1F1F!important;
  border-top:1px solid rgba(31,31,31,.16)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft *,
#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft a{
  color:#1F1F1F!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft .vcm-ft-brand span{
  color:#1F1F1F!important;
  text-shadow:none!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft .vcm-footer-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 18px!important;
  background:#1F1F1F!important;
  border:1px solid #1F1F1F!important;
  color:#E6EE4D!important;
  text-decoration:none!important;
  width:auto!important;
  min-width:max-content!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft .vcm-footer-social a,
#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft .vcm-footer-legal a{
  color:#4E4A43!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft .vcm-fbot,
#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) footer.vcm-ft .vcm-footer-legal{
  border-color:rgba(31,31,31,.16)!important;
}

@media(max-width:900px){
  #vcm-root.vcm-restore .vcm-topbar{
    padding:11px 20px!important;
  }

  #vcm-root.vcm-restore .vcm-restore-wrap,
  #vcm-root.vcm-restore .vcm-membership-shell,
  #vcm-root.vcm-restore .vcm-join-main,
  #vcm-root.vcm-restore.vcm-join-page .vcm-join-hero,
  #vcm-root.vcm-restore.vcm-join-page .vcm-join-card{
    width:min(100% - 36px, 720px)!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero{
    padding-top:64px!important;
    padding-bottom:42px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-line{
    margin-bottom:44px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats span:nth-child(2){
    border-right:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-application-panel{
    position:relative!important;
    top:auto!important;
    max-width:100%!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-join-hero,
  #vcm-root.vcm-restore.vcm-join-page .vcm-form-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:560px){
  #vcm-root.vcm-restore .vcm-topbar{
    min-height:50px!important;
    gap:12px!important;
  }

  #vcm-root.vcm-restore .vcm-wordmark,
  #vcm-root.vcm-restore .vcm-nav a{
    font-size:12px!important;
  }

  #vcm-root.vcm-restore .vcm-restore-wrap,
  #vcm-root.vcm-restore .vcm-membership-shell,
  #vcm-root.vcm-restore.vcm-join-page .vcm-join-hero,
  #vcm-root.vcm-restore.vcm-join-page .vcm-join-card{
    width:calc(100% - 32px)!important;
  }

  #vcm-root.vcm-restore .vcm-restore-section,
  #vcm-root.vcm-restore .vcm-restore-band,
  #vcm-root.vcm-restore .vcm-room-now{
    padding-block:48px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-past-grid{
    grid-auto-columns:minmax(230px, 78vw)!important;
    gap:16px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats{
    grid-template-columns:1fr!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats span{
    border-right:0!important;
    border-bottom:1px solid rgba(248,246,239,.16)!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-experience-stats span:last-child{
    border-bottom:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature{
    grid-template-columns:38px minmax(0,1fr)!important;
    column-gap:16px!important;
    padding:18px 0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
    font-size:clamp(25px,8vw,34px)!important;
    line-height:.98!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-progress{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  #vcm-root.vcm-restore.vcm-join-page .vcm-intake-form input,
  #vcm-root.vcm-restore.vcm-join-page .vcm-intake-form select{
    min-height:54px!important;
  }
}

/* Newsletter signup visibility guardrail */
#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup-inline{
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:16px!important;
  padding:clamp(22px,2.8vw,38px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup-inline label,
#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup-inline > p{
  display:block!important;
  width:100%!important;
  max-width:320px!important;
  font-size:clamp(20px,1.55vw,30px)!important;
  line-height:1.14!important;
  letter-spacing:.08em!important;
  margin:0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:12px!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup .vcm-in{
  flex:1 1 auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 18px!important;
  background:#F8F6EF!important;
  border:2px solid #1F1F1F!important;
  color:#1F1F1F!important;
  font-family:"DM Mono", monospace!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
  box-sizing:border-box!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup .vcm-in::placeholder{
  color:rgba(31,31,31,.42)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup .vcm-button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 20px!important;
  font-family:"DM Mono", monospace!important;
  font-size:clamp(12px,1vw,15px)!important;
  font-weight:400!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

@media(max-width:980px){
  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup-inline{
    padding:22px!important;
  }
}

@media(max-width:760px){
  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup .vcm-in{
    min-width:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page) .vcm-weekly-pulse .vcm-edit-signup .vcm-button{
    width:100%!important;
  }
}

/* July 13 homepage membership repair: balanced editorial grid, no sticky drift. */
#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership{
  padding-block:clamp(64px,7vw,104px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-wrap{
  width:min(100% - clamp(40px,7vw,120px), 1180px)!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership{
  display:grid!important;
  grid-template-columns:minmax(0,690px) minmax(320px,390px)!important;
  justify-content:center!important;
  align-items:start!important;
  gap:clamp(44px,5vw,70px)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-kick{
  margin-bottom:18px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership h2{
  max-width:650px!important;
  font-size:clamp(64px,6.2vw,98px)!important;
  line-height:.86!important;
  letter-spacing:-.045em!important;
  margin:0 0 14px!important;
  overflow:visible!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership > div:first-child > p{
  max-width:500px!important;
  margin:0 0 28px!important;
  font-size:clamp(17px,1.45vw,22px)!important;
  line-height:1.38!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list{
  margin-top:28px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:8px!important;
  align-items:start!important;
  padding:24px 0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature strong{
  display:contents!important;
  margin:0!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list .vcm-benefit-num{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:40px!important;
  height:40px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
  grid-column:2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  font-size:clamp(29px,2.7vw,40px)!important;
  line-height:.98!important;
  letter-spacing:-.02em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature > span{
  grid-column:2!important;
  display:block!important;
  max-width:560px!important;
  padding-left:0!important;
  font-size:clamp(16px,1.25vw,19px)!important;
  line-height:1.42!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-application-panel{
  position:relative!important;
  top:auto!important;
  align-self:start!important;
  width:100%!important;
  max-width:390px!important;
  padding:22px!important;
  border-radius:16px!important;
  box-shadow:0 26px 64px rgba(31,31,31,.15)!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-panel-image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4 / 5!important;
  max-height:450px!important;
  object-fit:cover!important;
  object-position:center 62%!important;
  border-radius:12px!important;
}

#vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-application-panel .vcm-button{
  min-height:54px!important;
  margin-top:22px!important;
  padding-inline:18px!important;
}

@media(max-width:980px){
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-application-panel{
    max-width:min(100%,520px)!important;
    margin-inline:auto!important;
  }
}

@media(max-width:620px){
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership{
    padding-block:50px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-wrap{
    width:calc(100% - 32px)!important;
    overflow:hidden!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership > div:first-child{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership h2{
    max-width:100%!important;
    font-size:clamp(46px,14vw,58px)!important;
    line-height:.9!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership > div:first-child > p{
    font-size:17px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature{
    grid-template-columns:40px minmax(0,1fr)!important;
    column-gap:14px!important;
    padding:22px 0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature strong{
    display:contents!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
    font-size:clamp(25px,7.4vw,31px)!important;
    max-width:100%!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature > span{
    padding-left:0!important;
    max-width:100%!important;
    font-size:16px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-panel-image{
    aspect-ratio:4 / 4.7!important;
    max-height:390px!important;
  }
}

@media(max-width:520px){
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-application-panel{
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* July 13 mobile containment pass: prevent page-wide sideways drift. */
@media(max-width:760px){
  html,
  body,
  #vcm-root.vcm-restore{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  #vcm-root.vcm-restore *,
  #vcm-root.vcm-restore *::before,
  #vcm-root.vcm-restore *::after{
    box-sizing:border-box!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-section,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-band,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-now,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-weekly-pulse,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #events,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership{
    max-width:100vw!important;
    overflow-x:hidden!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-wrap,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-section-headline,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-layout,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-bigger-picture-grid{
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    margin-inline:auto!important;
    padding-inline:0!important;
    min-width:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero{
    min-height:auto!important;
    padding-top:44px!important;
    padding-bottom:34px!important;
    overflow:hidden!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero h2{
    max-width:100%!important;
    font-size:clamp(42px,12.5vw,56px)!important;
    line-height:.9!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-line,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-sub{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-section-headline h2,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-now h2,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-layout h2,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #events h2{
    max-width:100%!important;
    font-size:clamp(34px,10.5vw,48px)!important;
    line-height:1!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-proof-ticker{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-proof-track{
    width:max-content!important;
    min-width:max-content!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-quotes,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-context{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-quotes blockquote{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-feature,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-signup-inline,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-signup-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #events .vcm-experience-stats{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #events .vcm-past-grid{
    width:100%!important;
    max-width:100%!important;
    grid-auto-columns:min(76vw,270px)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) img,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) video{
    max-width:100%!important;
  }
}

@media(max-width:430px){
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero h2{
    font-size:clamp(40px,11.5vw,48px)!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #events .vcm-experience-stats{
    grid-template-columns:1fr!important;
  }
}

/* July 13 mobile type correction: fit the content, keep the editorial feel. */
@media(max-width:430px){
  #vcm-root.vcm-restore .vcm-topbar{
    padding-inline:12px!important;
    gap:10px!important;
  }

  #vcm-root.vcm-restore .vcm-wordmark{
    max-width:48%!important;
    font-size:10px!important;
    letter-spacing:.05em!important;
  }

  #vcm-root.vcm-restore .vcm-nav{
    max-width:52%!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }

  #vcm-root.vcm-restore .vcm-nav a{
    max-width:none!important;
    font-size:9px!important;
    letter-spacing:.05em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-hero h2{
    max-width:290px!important;
    font-size:clamp(34px,9vw,38px)!important;
    line-height:.96!important;
    letter-spacing:-.015em!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-section-headline h2,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-now h2,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-edit-layout h2,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #events h2{
    max-width:300px!important;
    font-size:clamp(27px,7.6vw,31px)!important;
    line-height:1.02!important;
    letter-spacing:-.012em!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership h2{
    max-width:280px!important;
    font-size:clamp(32px,8.8vw,36px)!important;
    line-height:.98!important;
    letter-spacing:-.015em!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-membership-list li.vcm-benefit-feature strong span:not(.vcm-benefit-num){
    font-size:clamp(23px,6.6vw,28px)!important;
    line-height:1.02!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-line{
    max-width:240px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-restore-sub,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-section-headline p,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-context,
  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) #membership .vcm-restore-membership > div:first-child > p{
    font-size:14px!important;
    line-height:1.42!important;
  }

  #vcm-root.vcm-restore:not(.vcm-membership-page):not(.vcm-join-page) .vcm-room-quotes blockquote{
    font-size:13px!important;
    line-height:1.38!important;
  }
}
