/* Shared prescription pages keep catalog pricing and the request reachable on phones. */
.web-signup .neutral-product{padding-bottom:110px}
.web-signup .neutral-product .neutral-media{display:flex}
.web-signup .neutral-product .frame img{background:var(--paper); color:var(--ink)}
.web-signup .neutral-product--vial .frame img{object-fit:contain;object-position:center}
.web-signup .neutral-product .sticky-cta .px{white-space:normal; font-size:14px}
.web-signup .neutral-product .sticky-cta .px-wrap{max-width:44%}
.web-signup .sticky-care{font-size:11px; color:var(--muted); line-height:1.3}
.web-signup .neutral-product .sticky-cta .btn{white-space:normal; text-align:center}
.web-signup .product-discovery ul{display:flex; flex-wrap:wrap; gap:12px 22px; list-style:none; padding:0}
.web-signup .product-discovery a{display:inline-block; padding:8px 0; color:var(--brand)}
.web-signup .product-discovery a[aria-current="page"]{font-weight:700}
@media(max-width:480px){
  .web-signup .neutral-product .frame{aspect-ratio:4/3}
  .web-signup .neutral-product--vial .frame{aspect-ratio:1/1}
  .web-signup .neutral-product .rcpt-row{flex-wrap:wrap; gap:2px 10px}
  .web-signup .neutral-product .sticky-cta .in{gap:10px}
  .web-signup .neutral-product .sticky-cta .btn{font-size:14px}
}

/* Product-page atmosphere for the Why Compound band.
   Anchored to .web-signup so a Propshaft :app include cannot leak tokens. */
.web-signup .stmt{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  margin-top:0;
  padding:clamp(96px,12vh,132px) 18px clamp(88px,10vh,120px);
  background:var(--ink);
  color:#c5dee1;
}
.web-signup .stmt + .band.light{margin-top:0}
.web-signup .pdp{padding-bottom:clamp(52px,7vw,80px)}
.web-signup .pdp > .buybox:only-child{grid-column:1 / -1}
.web-signup .how-in > .how-content:only-child{grid-column:1 / -1}
.web-signup .frame img[data-fit="contain"],
.web-signup .frame video[data-fit="contain"],
.web-signup .thumb img[data-fit="contain"]{object-fit:contain; background:var(--bg)}
.web-signup .frame img[data-fit="contain"],
.web-signup .frame video[data-fit="contain"]{padding:1rem}
.web-signup .thumb img[data-fit="contain"] + .play{background:none; color:var(--brand)}
.web-signup .catalog-price{margin-top:18px}
.web-signup .catalog-preparation{margin-bottom:18px}
.web-signup .catalog-preparation-name{margin:0; color:var(--ink); font-weight:600}
.web-signup [data-controller~="catalog-price"] .bb-swpanel .swp-wrap{margin-bottom:12px}
.web-signup .catalog-price [data-catalog-price-target="total"][data-unavailable="true"]{font-size:14.5px; letter-spacing:normal; font-weight:500}
.web-signup .catalog-lad th[scope="row"]{font-size:inherit; letter-spacing:normal; text-transform:none}
.web-signup .catalog-option{padding:6px 0; border:0; background:none; color:inherit; font:inherit; text-align:left; text-decoration:underline; cursor:pointer}
.web-signup .catalog-option[aria-pressed="true"]{font-weight:750; text-decoration:none}
.web-signup .catalog-selected{display:block; font-size:11px; color:var(--brand)}
.web-signup .catalog-selected[hidden]{display:none}
.web-signup .catalog-lad tr[data-selected="true"]{background:var(--brand-soft)}
.web-signup .catalog-lad del{display:block; color:var(--muted); font-size:12px}
.web-signup .catalog-coupon-note{display:block; margin-top:5px; font-size:11px; line-height:1.4; font-weight:400; white-space:normal}
.web-signup .catalog-coupon-initial{color:var(--brand); font-weight:600}
.web-signup .catalog-coupon-status{margin:10px 0 0}
.web-signup .catalog-coupon-remove{padding:4px 0; border:0; background:none; color:var(--brand); font:inherit; font-size:13px; text-decoration:underline; cursor:pointer}
.web-signup .sticky-cta .catalog-coupon-note{max-width:22ch; margin:0}
.web-signup .sticky-cta .sw{white-space:normal}
.web-signup [data-controller~="catalog-price"] .bb-links{flex-wrap:wrap}
.web-signup [data-controller~="catalog-price"] button:disabled{cursor:wait; opacity:.65}
@media(max-width:420px){
  .web-signup table.catalog-lad{font-size:13px}
  .web-signup table.catalog-lad th,.web-signup table.catalog-lad td{padding-inline:4px}
  .web-signup .catalog-lad th.hl,.web-signup .catalog-lad td.hl{padding-inline:6px}
  .web-signup .catalog-lad thead th{font-size:10.5px; letter-spacing:.02em}
  .web-signup .sticky-cta [data-catalog-price-target="stickyPrice"]{font-size:14px}
}
.web-signup .buybox{padding:30px 28px}
.web-signup .stmt-atmos{
  position:absolute;
  inset:0 0 -80px;
  z-index:0;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.72) 68%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.72) 68%,transparent 100%);
}
.web-signup .stmt-atmos::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,24,28,.55),rgba(2,24,28,.28));
}
.web-signup .stmt-atmos img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  transform:scale(1.2);
  filter:blur(72px) saturate(1.2) brightness(.42);
  opacity:.9;
  animation:stmt-breathe 36s ease-in-out infinite;
  translate:calc(var(--px,0)*10px) calc(var(--py,0)*8px);
}
.web-signup .stmt-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  transition:translate 1.2s cubic-bezier(.22,1,.36,1);
}
.web-signup .stmt-orb-a{
  left:-12%;
  top:-18%;
  width:min(58vw,580px);
  height:min(58vw,580px);
  background:rgba(131,197,190,.28);
  animation:stmt-drift-a 32s ease-in-out infinite;
  translate:calc(var(--px,0)*44px) calc(var(--py,0)*30px);
}
.web-signup .stmt-orb-b{
  right:-10%;
  bottom:-26%;
  width:min(50vw,500px);
  height:min(50vw,500px);
  background:rgba(0,109,119,.34);
  animation:stmt-drift-b 40s ease-in-out infinite;
  translate:calc(var(--px,0)*-34px) calc(var(--py,0)*-24px);
}
.web-signup .stmt-in{
  position:relative;
  z-index:1;
  max-width:50rem;
  margin:0 auto;
  text-align:center;
  color:#c5dee1;
}
.web-signup .stmt-kicker{
  margin:0 0 16px;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sage);
}
.web-signup .stmt-line{
  margin:0 auto 18px;
  font-family:var(--font-serif);
  font-weight:440;
  font-size:clamp(32px,4.8vw,50px);
  line-height:1.12;
  letter-spacing:-.015em;
  color:#fff;
  text-wrap:balance;
}
.web-signup .stmt-sub{
  margin:0 auto;
  max-width:none;
  font-size:15px;
  font-weight:600;
  line-height:1.55;
  color:#c5dee1;
  text-wrap:pretty;
}
.web-signup .stmt-sub + .stmt-sub{margin-top:12px}
.web-signup .stmt-sub b{font-weight:600; color:#fff}
.web-signup .stmt-blurline{will-change:filter; animation:stmt-blur-breathe 7s ease-in-out infinite}
.web-signup .stmt-fixed{
  margin:14px auto 0;
  max-width:52ch;
  font-size:15px;
  font-weight:600;
  line-height:1.55;
  color:#c5dee1;
  text-wrap:balance;
}
.web-signup .stmt-fixed u{text-decoration-color:var(--sage); text-underline-offset:3px}
@keyframes stmt-blur-breathe{
  0%,100%{filter:blur(0); opacity:1}
  50%{filter:blur(.8px); opacity:.86}
}
@keyframes stmt-breathe{
  0%,100%{transform:scale(1.18)}
  50%{transform:scale(1.28)}
}
@keyframes stmt-drift-a{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(4%,3%,0)}
}
@keyframes stmt-drift-b{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-5%,-4%,0)}
}
@media (prefers-reduced-motion: reduce){
  .web-signup .stmt-atmos img,
  .web-signup .stmt-orb-a,
  .web-signup .stmt-orb-b{animation:none}
  .web-signup .stmt-orb{transition:none}
  .web-signup .stmt-blurline{filter:none; opacity:1; animation:none}
}
@media (prefers-reduced-transparency: reduce){
  .web-signup .stmt-atmos img{filter:none; opacity:.18; transform:none; animation:none}
  .web-signup .stmt-orb{display:none}
}
@media (max-width:560px){
  .web-signup .pdp{padding-bottom:44px}
  .web-signup .buybox{padding:0 2px 0; background:none; border:0; border-radius:0}
  .web-signup .ftop{margin-inline:-20px}
  .web-signup .stmt{padding:88px 20px 88px}
  .web-signup .stmt-line{font-size:clamp(28px,8.4vw,36px)}
  .web-signup .stmt-sub{font-size:14px}
  .web-signup .stmt-fixed{font-size:14px; max-width:none; text-wrap:pretty}
}
.web-signup .dj-in.dj-in-text{grid-template-columns:minmax(0,1fr);max-width:756px}

.web-signup .product-cart-form{margin:0}.web-signup .product-cart-form .btn{width:100%;cursor:pointer;font-family:inherit}.web-signup .sticky-cta .product-cart-form{flex-shrink:0}
