/* Vanilla Plus hero animation v3: white cloud draws, green sweep reveals the Plus ingredients, plus snaps in, cloud turns green then blue */
.ca{display:block;width:100%;height:auto;overflow:visible;font-family:var(--f-display,Urbanist),system-ui,sans-serif}
.ca text{font-size:15px;font-weight:600;letter-spacing:-.005em;fill:#E6ECF8}
.ca-orbit{stroke:rgba(169,194,238,.14);stroke-width:1.2;stroke-dasharray:.004 .008}
.ca-ln{stroke-width:2;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0}
.ca-pk{offset-rotate:0deg;opacity:0;filter:drop-shadow(0 0 6px currentColor)}
.ca-pk.ca-t1,.ca-pk.ca-t2{filter:none}
.ca-nr{stroke:rgba(169,194,238,.3);stroke-width:1.5}
.ca-nc{stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0}
.ca-ic{stroke:#A9C2EE}
.ca-ic .eye{stroke:#92D63C;stroke-width:2.4}
.ca-ic .ac{stroke:var(--nc)}
.ca-c1,.ca-c2,.ca-arm{stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0}
.ca-cg,.ca-cb,.ca-tx,.ca-halo,.ca-aur,.ca-n,.ca-gs,.ca-gr,.ca-ng,.ca-sp,.ca-ring,.ca-glow,.ca-head,.ca-comet,.ca-sh{opacity:0}
.ca-plus,.ca-ring,.ca-glow,.ca-sp,.ca-gs,.ca-gr{transform-box:fill-box;transform-origin:center}
.ca-aur{transform-origin:300px 300px}
.ca-fl{transform-box:fill-box}
.ca-sweep{stroke:#92D63C;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 6px rgba(146,214,60,.8))}
.ca-head{fill:#E0FA72;filter:drop-shadow(0 0 10px #92D63C) drop-shadow(0 0 4px #fff);offset-rotate:0deg}
.ca-comet{stroke-width:2.2;stroke-linecap:round;stroke-dasharray:.09 .91;stroke-dashoffset:0}
.ca-sh{stroke-dasharray:.14 .86;stroke-dashoffset:.14}

.ca.play .ca-aur{animation:ca-fade 2s ease .1s forwards,ca-rot 26s linear infinite}
.ca.play .ca-halo{animation:ca-fade 1.6s ease .2s forwards}
.ca.play .ca-c1{animation:ca-draw 1.3s cubic-bezier(.65,0,.35,1) .2s forwards}
.ca.play .ca-c2{animation:ca-draw .35s ease-out 1.45s forwards}
.ca.play .ca-cg{animation:ca-fade 1.8s ease 1.9s forwards,ca-out 1.4s ease 4.9s forwards}
.ca.play .ca-cb{animation:ca-fade 1.4s ease 4.9s forwards}
.ca.play .ca-sweep{animation:ca-draw 2.4s linear 1.7s forwards,ca-dim 1.2s ease 4.2s forwards}
.ca.play .ca-head{animation:ca-headrun 2.4s linear 1.7s forwards}
.ca.play .ca-arm{animation:ca-draw .32s cubic-bezier(.22,1,.36,1) 4.3s forwards}
.ca.play .ca-plus{animation:ca-pop .6s cubic-bezier(.34,1.6,.5,1) 4.3s both}
.ca.play .ca-sp{animation-name:ca-burst;animation-duration:1.1s;animation-timing-function:cubic-bezier(.15,.8,.3,1);animation-fill-mode:forwards}
.ca.play .ca-ring{animation:ca-ring 1s ease-out 4.45s forwards}
.ca.play .ca-ring.ca-ring2{animation:ca-ring 1.3s ease-out 4.6s forwards}
.ca.play .ca-glow{animation:ca-fade .6s ease 4.4s forwards}
.ca.play .ca-tx{animation:ca-rise .6s ease-out 4.7s forwards}
.ca.play .ca-orbit{animation:ca-spin 90s linear infinite}

.ca.play .ca-n0{animation:ca-in .6s cubic-bezier(.22,1.4,.36,1) 1.70s forwards}
.ca.play .ca-n0 .ca-gs{animation:ca-shine 1.5s ease-out 1.70s forwards}
.ca.play .ca-n0 .ca-gr{animation:ca-greenring 1.8s ease 1.70s forwards}
.ca.play .ca-n0 .ca-ic{animation:ca-lit .5s ease 1.80s forwards}
.ca.play .ca-n0 .ca-nc{animation:ca-draw .7s cubic-bezier(.65,0,.35,1) 2.30s forwards}
.ca.play .ca-n0 .ca-ng{animation:ca-fade .8s ease 2.70s forwards}
.ca.play .ca-l0{animation:ca-draw .5s ease-out 1.95s forwards}
.ca.play .ca-k0.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.25s forwards}
.ca.play .ca-k0.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.31s forwards}
.ca.play .ca-k0.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.37s forwards}
.ca.play .ca-n1{animation:ca-in .6s cubic-bezier(.22,1.4,.36,1) 2.10s forwards}
.ca.play .ca-n1 .ca-gs{animation:ca-shine 1.5s ease-out 2.10s forwards}
.ca.play .ca-n1 .ca-gr{animation:ca-greenring 1.8s ease 2.10s forwards}
.ca.play .ca-n1 .ca-ic{animation:ca-lit .5s ease 2.20s forwards}
.ca.play .ca-n1 .ca-nc{animation:ca-draw .7s cubic-bezier(.65,0,.35,1) 2.70s forwards}
.ca.play .ca-n1 .ca-ng{animation:ca-fade .8s ease 3.10s forwards}
.ca.play .ca-l1{animation:ca-draw .5s ease-out 2.35s forwards}
.ca.play .ca-k1.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.65s forwards}
.ca.play .ca-k1.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.71s forwards}
.ca.play .ca-k1.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.77s forwards}
.ca.play .ca-n2{animation:ca-in .6s cubic-bezier(.22,1.4,.36,1) 2.50s forwards}
.ca.play .ca-n2 .ca-gs{animation:ca-shine 1.5s ease-out 2.50s forwards}
.ca.play .ca-n2 .ca-gr{animation:ca-greenring 1.8s ease 2.50s forwards}
.ca.play .ca-n2 .ca-ic{animation:ca-lit .5s ease 2.60s forwards}
.ca.play .ca-n2 .ca-nc{animation:ca-draw .7s cubic-bezier(.65,0,.35,1) 3.10s forwards}
.ca.play .ca-n2 .ca-ng{animation:ca-fade .8s ease 3.50s forwards}
.ca.play .ca-l2{animation:ca-draw .5s ease-out 2.75s forwards}
.ca.play .ca-k2.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.05s forwards}
.ca.play .ca-k2.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.11s forwards}
.ca.play .ca-k2.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.17s forwards}
.ca.play .ca-n3{animation:ca-in .6s cubic-bezier(.22,1.4,.36,1) 2.90s forwards}
.ca.play .ca-n3 .ca-gs{animation:ca-shine 1.5s ease-out 2.90s forwards}
.ca.play .ca-n3 .ca-gr{animation:ca-greenring 1.8s ease 2.90s forwards}
.ca.play .ca-n3 .ca-ic{animation:ca-lit .5s ease 3.00s forwards}
.ca.play .ca-n3 .ca-nc{animation:ca-draw .7s cubic-bezier(.65,0,.35,1) 3.50s forwards}
.ca.play .ca-n3 .ca-ng{animation:ca-fade .8s ease 3.90s forwards}
.ca.play .ca-l3{animation:ca-draw .5s ease-out 3.15s forwards}
.ca.play .ca-k3.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.45s forwards}
.ca.play .ca-k3.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.51s forwards}
.ca.play .ca-k3.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.57s forwards}
.ca.play .ca-n4{animation:ca-in .6s cubic-bezier(.22,1.4,.36,1) 3.30s forwards}
.ca.play .ca-n4 .ca-gs{animation:ca-shine 1.5s ease-out 3.30s forwards}
.ca.play .ca-n4 .ca-gr{animation:ca-greenring 1.8s ease 3.30s forwards}
.ca.play .ca-n4 .ca-ic{animation:ca-lit .5s ease 3.40s forwards}
.ca.play .ca-n4 .ca-nc{animation:ca-draw .7s cubic-bezier(.65,0,.35,1) 3.90s forwards}
.ca.play .ca-n4 .ca-ng{animation:ca-fade .8s ease 4.30s forwards}
.ca.play .ca-l4{animation:ca-draw .5s ease-out 3.55s forwards}
.ca.play .ca-k4.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.85s forwards}
.ca.play .ca-k4.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.91s forwards}
.ca.play .ca-k4.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.97s forwards}
.ca.play .ca-n5{animation:ca-in .6s cubic-bezier(.22,1.4,.36,1) 3.70s forwards}
.ca.play .ca-n5 .ca-gs{animation:ca-shine 1.5s ease-out 3.70s forwards}
.ca.play .ca-n5 .ca-gr{animation:ca-greenring 1.8s ease 3.70s forwards}
.ca.play .ca-n5 .ca-ic{animation:ca-lit .5s ease 3.80s forwards}
.ca.play .ca-n5 .ca-nc{animation:ca-draw .7s cubic-bezier(.65,0,.35,1) 4.30s forwards}
.ca.play .ca-n5 .ca-ng{animation:ca-fade .8s ease 4.70s forwards}
.ca.play .ca-l5{animation:ca-draw .5s ease-out 3.95s forwards}
.ca.play .ca-k5.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 4.25s forwards}
.ca.play .ca-k5.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 4.31s forwards}
.ca.play .ca-k5.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 4.37s forwards}

@keyframes ca-draw{from{opacity:1;stroke-dashoffset:1}to{opacity:1;stroke-dashoffset:0}}
@keyframes ca-fade{to{opacity:1}}
@keyframes ca-out{to{opacity:0}}
@keyframes ca-dim{from{opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:0}}
@keyframes ca-headrun{0%{offset-distance:0%;opacity:0}6%{opacity:1}92%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes ca-in{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
.ca-n{transform-box:fill-box;transform-origin:center}
@keyframes ca-shine{0%{opacity:0;transform:scale(.5)}25%{opacity:1;transform:scale(1.05)}100%{opacity:0;transform:scale(1.3)}}
@keyframes ca-greenring{0%{opacity:0}15%{opacity:1}55%{opacity:1}100%{opacity:0}}
@keyframes ca-lit{to{stroke:#FFFFFF}}
@keyframes ca-pk{0%{offset-distance:0%;opacity:0}15%{opacity:var(--o,1)}85%{opacity:var(--o,1)}100%{offset-distance:100%;opacity:0}}
@keyframes ca-pop{0%{transform:scale(.6) rotate(-45deg)}100%{transform:none}}
@keyframes ca-burst{0%{opacity:1;transform:translate(0,0) scale(1.2)}70%{opacity:.9}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}}
@keyframes ca-ring{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(2.6)}}
@keyframes ca-breathe{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes ca-rise{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes ca-spin{to{stroke-dashoffset:-1}}
@keyframes ca-orb{to{stroke-dashoffset:-1}}
@keyframes ca-rot{to{transform:rotate(360deg)}}
@keyframes ca-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes ca-shim{0%{stroke-dashoffset:.14;opacity:0}10%{opacity:1}80%{opacity:1}100%{stroke-dashoffset:-1;opacity:0}}

@media (prefers-reduced-motion:reduce){
  .ca *,.ca.play *{animation:none !important}
  .ca-c1,.ca-c2,.ca-ln,.ca-arm,.ca-nc{stroke-dashoffset:0;opacity:1}
  .ca-n,.ca-tx,.ca-halo,.ca-glow,.ca-cb,.ca-aur,.ca-ng{opacity:1}
  .ca-ic{stroke:#fff}
}


/* recurring loop: every 8s after the intro */
.ca.play .ca-head{animation:ca-headrun 2.4s linear 1.7s forwards,ca-headl 8.0s linear 7.0s infinite}
.ca.play .ca-sweep{animation:ca-draw 2.4s linear 1.7s forwards,ca-dim 1.2s ease 4.2s forwards,ca-sweepl 8.0s linear 7.0s infinite}
.ca.play .ca-cg{animation:ca-fade 1.8s ease 1.9s forwards,ca-out 1.4s ease 4.9s forwards,ca-cgl 8.0s ease-in-out 7.0s infinite}
.ca.play .ca-plus{animation:ca-pop .6s cubic-bezier(.34,1.6,.5,1) 4.3s both,ca-plusl 8.0s ease 9.60s infinite}
.ca.play .ca-ring{animation:ca-ring 1s ease-out 4.45s forwards,ca-ringl 8.0s ease-out 9.70s infinite}
.ca.play .ca-ring.ca-ring2{animation:ca-ring 1.3s ease-out 4.6s forwards,ca-ringl 8.0s ease-out 9.85s infinite}
.ca.play .ca-glow{animation:ca-fade .6s ease 4.4s forwards,ca-glowl 8.0s ease 9.60s infinite}
.ca.play .ca-sh{animation:ca-shiml 8.0s cubic-bezier(.45,0,.55,1) 10.00s infinite}
.ca.play .ca-n0 .ca-gs{animation:ca-shine 1.5s ease-out 1.70s forwards,ca-shinel 8.0s ease-out 7.00s infinite}
.ca.play .ca-n0 .ca-gr{animation:ca-greenring 1.8s ease 1.70s forwards,ca-grl 8.0s ease 7.00s infinite}
.ca.play .ca-k0.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.25s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 7.35s infinite}
.ca.play .ca-k0.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.31s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 7.41s infinite}
.ca.play .ca-k0.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.37s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 7.47s infinite}
.ca.play .ca-n1 .ca-gs{animation:ca-shine 1.5s ease-out 2.10s forwards,ca-shinel 8.0s ease-out 7.40s infinite}
.ca.play .ca-n1 .ca-gr{animation:ca-greenring 1.8s ease 2.10s forwards,ca-grl 8.0s ease 7.40s infinite}
.ca.play .ca-k1.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.65s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 7.75s infinite}
.ca.play .ca-k1.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.71s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 7.81s infinite}
.ca.play .ca-k1.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 2.77s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 7.87s infinite}
.ca.play .ca-n2 .ca-gs{animation:ca-shine 1.5s ease-out 2.50s forwards,ca-shinel 8.0s ease-out 7.80s infinite}
.ca.play .ca-n2 .ca-gr{animation:ca-greenring 1.8s ease 2.50s forwards,ca-grl 8.0s ease 7.80s infinite}
.ca.play .ca-k2.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.05s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 8.15s infinite}
.ca.play .ca-k2.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.11s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 8.21s infinite}
.ca.play .ca-k2.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.17s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 8.27s infinite}
.ca.play .ca-n3 .ca-gs{animation:ca-shine 1.5s ease-out 2.90s forwards,ca-shinel 8.0s ease-out 8.20s infinite}
.ca.play .ca-n3 .ca-gr{animation:ca-greenring 1.8s ease 2.90s forwards,ca-grl 8.0s ease 8.20s infinite}
.ca.play .ca-k3.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.45s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 8.55s infinite}
.ca.play .ca-k3.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.51s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 8.61s infinite}
.ca.play .ca-k3.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.57s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 8.67s infinite}
.ca.play .ca-n4 .ca-gs{animation:ca-shine 1.5s ease-out 3.30s forwards,ca-shinel 8.0s ease-out 8.60s infinite}
.ca.play .ca-n4 .ca-gr{animation:ca-greenring 1.8s ease 3.30s forwards,ca-grl 8.0s ease 8.60s infinite}
.ca.play .ca-k4.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.85s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 8.95s infinite}
.ca.play .ca-k4.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.91s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 9.01s infinite}
.ca.play .ca-k4.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 3.97s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 9.07s infinite}
.ca.play .ca-n5 .ca-gs{animation:ca-shine 1.5s ease-out 3.70s forwards,ca-shinel 8.0s ease-out 9.00s infinite}
.ca.play .ca-n5 .ca-gr{animation:ca-greenring 1.8s ease 3.70s forwards,ca-grl 8.0s ease 9.00s infinite}
.ca.play .ca-k5.ca-t0{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 4.25s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 9.35s infinite}
.ca.play .ca-k5.ca-t1{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 4.31s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 9.41s infinite}
.ca.play .ca-k5.ca-t2{animation:ca-pk .6s cubic-bezier(.55,0,.75,.4) 4.37s forwards,ca-pkl 8.0s cubic-bezier(.55,0,.75,.4) 9.47s infinite}
@keyframes ca-headl{0%{offset-distance:0%;opacity:0}2%{opacity:1}28%{opacity:1}30.00%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes ca-sweepl{0%{stroke-dashoffset:1;opacity:.9}30.00%{stroke-dashoffset:0;opacity:.9}45.00%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes ca-cgl{0%{opacity:0}20.00%{opacity:.75}45.00%{opacity:0}100%{opacity:0}}
@keyframes ca-plusl{0%{transform:none}3.75%{transform:scale(1.16)}11.25%{transform:none}100%{transform:none}}
@keyframes ca-ringl{0%{opacity:.85;transform:scale(.6)}13.75%{opacity:0;transform:scale(2.6)}100%{opacity:0;transform:scale(2.6)}}
@keyframes ca-glowl{0%{opacity:.7}5.00%{opacity:1}25.00%{opacity:.7}100%{opacity:.7}}
@keyframes ca-shiml{0%{stroke-dashoffset:.14;opacity:0}3.75%{opacity:1}32.50%{opacity:1}40.00%{stroke-dashoffset:-1;opacity:0}100%{stroke-dashoffset:-1;opacity:0}}
@keyframes ca-shinel{0%{opacity:0;transform:scale(.6)}3.75%{opacity:.8;transform:scale(1.05)}16.25%{opacity:0;transform:scale(1.3)}100%{opacity:0}}
@keyframes ca-grl{0%{opacity:0}1.88%{opacity:1}10.00%{opacity:1}20.00%{opacity:0}100%{opacity:0}}
@keyframes ca-pkl{0%{offset-distance:0%;opacity:0}1.00%{opacity:var(--o,1)}6.50%{opacity:var(--o,1)}7.50%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
.ca-off,.ca-off *{animation-play-state:paused !important}

/* placement */
.ca-stage{position:relative;width:100%;max-width:580px;justify-self:center}
@media (max-width:1000px){.ca-stage{max-width:460px;margin:8px auto 0}}

/* Phone/tablet: use the same quiet background animation, including large touch tablets in landscape.
   Keep the side-by-side stage for desktop pointers above the tablet navigation breakpoint. */
@media (max-width:1180px), (max-width:1366px) and (hover:none) and (pointer:coarse){
  .hero-home .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero .ca-stage{position:absolute;top:54px;right:-44px;width:300px;max-width:none;margin:0;opacity:.24;pointer-events:none;z-index:-1;
    -webkit-mask-image:linear-gradient(215deg,#000 45%,transparent 88%);mask-image:linear-gradient(215deg,#000 45%,transparent 88%)}
  .hero .ca text{display:none}
  .hero .ca *{filter:none!important}
}
