/* Continuous motion: separate floating, inflation and pop transforms. */
.gum-bubble-float{display:grid;place-items:center;animation:bubbleFloat 5.6s ease-in-out infinite;will-change:transform}
.gum-bubble{animation:bubbleArrive .75s cubic-bezier(.16,.8,.3,1) both;will-change:transform,opacity;backface-visibility:hidden;box-shadow:inset 18px 16px 38px #ffffff45,inset -22px -28px 42px #65002848,0 26px 48px #5b00224d}
.gum-bubble__shine{opacity:.7;animation:bubbleLight 5.6s ease-in-out infinite}
.gum-entry__hint{font-size:14px;letter-spacing:.06em;box-shadow:4px 5px 0 #171315;animation:hintIn .4s .45s var(--ease) both}
.unwrap.is-opening .gum-bubble{animation:none}
.unwrap.is-opening .gum-bubble-float,.unwrap.is-opening .gum-bubble__shine{animation-play-state:paused}
.unwrap.is-opening .gum-entry__hint{animation:none;opacity:0;transform:translateY(5px)}
.unwrap{transition:opacity .28s ease,visibility .28s}
.shop{transform:none;transition:opacity .35s ease}
@keyframes bubbleArrive{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes bubbleFloat{0%,100%{transform:translate3d(0,5px,0) rotate(-1deg) scale(1.012,.99)}50%{transform:translate3d(0,-7px,0) rotate(1deg) scale(.993,1.014)}}
@keyframes bubbleLight{0%,100%{transform:translate3d(0,0,0) rotate(34deg);opacity:.65}50%{transform:translate3d(5px,3px,0) rotate(28deg);opacity:.85}}

/* Use the visible bounds of the supplied packs; retain original image files. */
.candy-machine{isolation:isolate;filter:drop-shadow(0 18px 20px #3d162326)}
.machine__dome{backdrop-filter:none}
.candies{inset:4%}
.candy-machine .candy--ini{--pack-w:120.968%;--pack-h:152.672%;--pack-x:-10.618%;--pack-y:-26.718%;--candy-tilt:-14deg}
.candy-machine .candy--magnasco{--pack-w:151.229%;--pack-h:223.013%;--pack-x:-25.709%;--pack-y:-60.669%;--candy-tilt:9deg}
.candy-machine .candy--bragadense{--pack-w:108.254%;--pack-h:273.973%;--pack-x:-4.195%;--pack-y:-89.041%;--candy-tilt:-5deg}
.candy-machine .candy--bechsud{--pack-w:157.068%;--pack-h:121.951%;--pack-x:-28.534%;--pack-y:-11.111%;--candy-tilt:12deg}
.candy-machine .candy--alfasal{--pack-w:115.942%;--pack-h:174.672%;--pack-x:-8.551%;--pack-y:-36.681%;--candy-tilt:-8deg}
.candy-machine .candy--prenut{--pack-w:142.602%;--pack-h:199.625%;--pack-x:-21.747%;--pack-y:-50.187%;--candy-tilt:9deg}
.candy-machine .candy--lab{--pack-w:150.943%;--pack-h:198.881%;--pack-x:-25.849%;--pack-y:-50.746%;--candy-tilt:-5deg}
.candy-machine .candy--coca-cola{--pack-w:222.222%;--pack-h:100.995%;--pack-x:-55%;--pack-y:-.332%;--candy-tilt:15deg}
.candies .candy:nth-child(1){left:4%;top:33%;width:47%;height:24.83%;z-index:3}
.candies .candy:nth-child(2){left:23%;top:16%;width:47%;height:21.24%;z-index:2}
.candies .candy:nth-child(3){left:35%;top:39%;width:53%;height:10.47%;z-index:4}
.candies .candy:nth-child(4){left:14%;top:54%;width:18%;height:34.77%;z-index:5}
.candies .candy:nth-child(5){left:29%;top:53%;width:51%;height:16.93%;z-index:6}
.candies .candy:nth-child(6){left:51%;top:67%;width:43%;height:20.47%;z-index:7}
.candies .candy:nth-child(7){left:29%;top:77%;width:40%;height:20.23%;z-index:8}
.candies .candy:nth-child(8){left:74%;top:12%;width:12%;height:40.2%;z-index:3}
.candy-machine .candies .candy .candy__object,.candy-machine .transit-candy .candy__object{position:absolute;inset:0;width:100%;height:100%;padding:0;background:none;border:0;border-radius:0;clip-path:none;overflow:hidden;filter:none;transform:rotate(var(--candy-tilt))!important;transition:transform .2s ease,opacity .12s}
.candy-machine .candy .candy__pack,.candy-machine .transit-candy .candy__pack{inset:auto;left:var(--pack-x);top:var(--pack-y);width:var(--pack-w);height:var(--pack-h);max-width:none;object-fit:fill;transform:none}
.candies .candy{filter:drop-shadow(0 4px 3px #24101855);touch-action:manipulation}
.candies .candy::before{display:none}
.candy-machine .candies .candy:is(:hover,:focus-visible,.is-selected) .candy__object{transform:rotate(var(--candy-tilt))!important;filter:none}
@media(hover:hover) and (pointer:fine){.candy-machine .candies .candy:hover .candy__object{transform:translateY(-3px) rotate(var(--candy-tilt)) scale(1.025)!important}}
.candies .candy.is-dispensing{pointer-events:none;opacity:0}
.transit-candy{position:absolute;display:block;pointer-events:none;z-index:7;transform-origin:center;will-change:transform,opacity}
.machine__outlet{position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:1;pointer-events:none}
.machine__chute i{z-index:2}
.candy-machine.is-dispensing .machine__chute{animation:none}
.candy-machine.is-dispensing .machine__turn{animation:turnHandle .65s cubic-bezier(.25,.6,.3,1) both}
@keyframes turnHandle{0%{transform:rotate(0)}75%,100%{transform:rotate(180deg)}}

/* The whole machine is the first mobile screen, before header and copy. */
@media(max-width:820px){
  .shop{display:flex;flex-direction:column;align-items:stretch;background:radial-gradient(ellipse at 65% 14%,#ff2a7619,transparent 38%),var(--cream)}
  .counter{display:contents}
  .candy-machine{--machine-size:min(calc(100vw - 16px),calc((100svh - 104px)/1.48),520px);order:0;width:var(--machine-size);height:calc(var(--machine-size)*1.48);flex:none;padding:0;margin:18px auto;max-width:100%}
  .machine__dome{position:absolute;left:3%;top:8%;width:94%;margin:0}
  .machine__lid{top:3%;width:35%;height:10%}
  .machine__neck{position:absolute;top:69%;left:15.5%;width:69%;height:4.4%;min-height:0;margin:0}
  .machine__base{position:absolute;top:72%;left:15%;width:70%;height:24%;aspect-ratio:auto;margin:0}
  .machine__foot{position:absolute;top:94%;left:9.5%;width:81%;height:4.7%;min-height:0;margin:0}
  .shop__header{order:-1;flex:none;height:68px;padding:0 20px;background:transparent;backdrop-filter:none;border-top:0;border-bottom:1px solid var(--line)}
  .mini-logo img{width:106px}.contact-pill{font-size:12px;padding:12px 16px}
  .counter__intro{order:2;display:block;margin:0;padding:30px 22px 42px;max-width:680px;align-self:center;width:100%}
  .counter__title .kicker{font-size:12px;margin-bottom:16px}
  .counter h1{font-size:clamp(62px,16vw,94px);line-height:.88}
  .counter__lead{margin-top:24px;padding-top:18px;gap:14px}
  .counter__copy{font-size:16px;max-width:480px}.counter__number{font-size:12px}.counter__lead>span{display:none}
  .shop__footer{order:3}
}
@media(min-width:821px) and (max-width:1100px){.counter{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.candy-machine{max-width:100%}}
@media(prefers-reduced-motion:reduce){.gum-bubble-float,.gum-bubble,.gum-bubble__shine{animation:none!important}.gum-bubble{opacity:1}.shop,.unwrap{transition:none}.candy-machine.is-dispensing .machine__turn{animation:none}}
