/* ======================================================================
   REV216 — HERO BOTTLE SCROLL FOLLOW TO REST POSITION
   Purpose: keep the selected landing hero bottle alive as the user scrolls,
   then settle it into a deliberate handoff/rest pose without rewriting the
   Rev209/210 source-truth design.
   ====================================================================== */
.rev216-hero-scroll-bottle{
  position:fixed;
  left:0;
  top:0;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  z-index:42;
  opacity:0;
  visibility:hidden;
  transform-origin:center center;
  will-change:transform,opacity,filter;
  filter:drop-shadow(0 38px 54px rgba(20,12,6,.30)) saturate(1.04) brightness(1.01);
  contain:layout style paint;
}
.rev216-hero-scroll-glow{
  position:fixed;
  left:0;
  top:0;
  width:240px;
  height:240px;
  border-radius:999px;
  pointer-events:none;
  z-index:41;
  opacity:0;
  visibility:hidden;
  background:radial-gradient(circle, rgba(255,232,107,.58) 0%, rgba(255,206,186,.34) 34%, rgba(255,255,255,0) 70%);
  filter:blur(8px);
  transform-origin:center;
  will-change:transform,opacity;
}
html.rev216-hero-hide-source .hero .js-hero-product{
  opacity:0!important;
}
html.rev216-hero-hide-source .hero .product-shadow{
  opacity:.08!important;
}
html.rev216-hero-hide-source .stage.is-scroll-following .product-orbit{
  opacity:0!important;
}
html.rev216-hero-rested .rev216-hero-scroll-bottle{
  filter:drop-shadow(0 46px 58px rgba(20,12,6,.34)) saturate(1.08) brightness(1.02);
}
@media (max-width:720px){
  .rev216-hero-scroll-bottle{z-index:38;}
  .rev216-hero-scroll-glow{width:190px;height:190px;}
}
@media (prefers-reduced-motion: reduce){
  .rev216-hero-scroll-bottle,.rev216-hero-scroll-glow{display:none!important;}
  html.rev216-hero-hide-source .hero .js-hero-product{opacity:1!important;}
}
