.ticker .ticker-track{display:flex;width:max-content;padding:0;animation:ticker-loop 22s linear infinite;will-change:transform}.ticker .ticker-track span{display:block;flex:none;padding:14px 0}@keyframes ticker-loop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-25%,0,0)}}
.filters button{position:relative;overflow:hidden;isolation:isolate;transition:color .3s ease,border-color .3s ease,transform .3s cubic-bezier(.2,.8,.2,1)}.filters button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--acid);transform:translateY(105%);transition:transform .35s cubic-bezier(.16,1,.3,1)}.filters button:hover{transform:translateY(-2px);color:var(--ink)}.filters button.active{background:transparent}.filters button.active::before{transform:translateY(0)}
.products{transition:opacity .22s ease,transform .22s ease}.products.products-leaving{opacity:0;transform:translateY(14px) scale(.985)}.product{opacity:0;transform:translateY(26px)}.products-ready .product{opacity:1;transform:translateY(0);transition:opacity .55s ease calc(var(--order)*90ms),transform .65s cubic-bezier(.16,1,.3,1) calc(var(--order)*90ms),background .25s}
.product-visual::after{content:"";position:absolute;inset:-60% -30%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.12) 48%,transparent 58%);transform:translateX(-55%);transition:transform .9s cubic-bezier(.16,1,.3,1);pointer-events:none}.product:hover .product-visual::after{transform:translateX(55%)}.product .bottle{transition:transform .65s cubic-bezier(.16,1,.3,1),filter .65s ease}.product:hover .bottle{transform:translateY(-10px) rotate(-1deg);filter:brightness(1.13)}.add.added{background:var(--acid);color:#090b0c;border-color:var(--acid);transform:rotate(360deg)}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .85s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.service>.reveal:nth-child(2){transition-delay:.1s}.service>.reveal:nth-child(3){transition-delay:.2s}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none}.product,.products-ready .product,.reveal{opacity:1;transform:none;transition:none}}
