/* Soft studio mascot and real food, with a restrained 1.8 s eating pulse. */
.hero-art{--hero-x:0;--hero-y:0;isolation:isolate;perspective:1100px;overflow:visible;justify-content:flex-end}
.hero-art>.orb{display:none}
.pacman-scene{position:relative;width:100%;max-width:600px;margin-left:auto;transform-origin:right center;aspect-ratio:1.45;isolation:isolate;transform:rotateY(calc(var(--hero-x)*3deg)) rotateX(calc(var(--hero-y)*-2deg));transition:transform .7s ease;overflow:hidden}
.pacman-halo{display:none}
.pacman-floor{position:absolute;left:19%;top:88%;width:46%;height:8%;border-radius:50%;background:radial-gradient(ellipse,#786c3330,transparent 70%);filter:blur(5px);animation:pac-shadow 1.8s ease-in-out infinite}
.pacman-character{position:absolute;left:17%;top:8%;width:55%;z-index:3;animation:pac-eat 1.8s ease-in-out infinite;transform-origin:65% 55%}
.pacman-front{z-index:5;clip-path:polygon(0 0,100% 0,100% 29%,58.8% 49.2%,100% 72.3%,100% 100%,0 100%);pointer-events:none}
.hero-art img.pacman-body{width:100%;height:auto;max-width:none;display:block;object-fit:contain;transform:none;animation:none;filter:none;mix-blend-mode:normal}
.pacman-food-track{position:absolute;inset:0;z-index:4}
.pacman-food{position:absolute;left:44%;top:30%;width:27%;aspect-ratio:1;opacity:0;animation:pac-food 28.8s linear infinite;animation-delay:var(--food-delay);will-change:transform,opacity}
.hero-art .pacman-food img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;transform:none;animation:none;mix-blend-mode:normal;filter:drop-shadow(0 12px 6px #57441c22)}
.hero-art .pacman-food-roll img{position:absolute;left:14.815%;top:14.815%;width:70.37%;height:70.37%}
.pacman-food-pizza{width:27%;top:30%}
@keyframes pac-eat{0%,100%{transform:translateY(0) rotate(-2deg)}45%{transform:translateY(-4px) rotate(0)}78%{transform:translateY(0) scale(1)}86%{transform:translateY(1px) scale(.97,1.025)}93%{transform:translateY(-1px) scale(1.015,.99)}}
@keyframes pac-shadow{0%,100%{transform:scale(1);opacity:.75}45%{transform:scale(.94);opacity:.6}86%{transform:scale(1.02);opacity:.85}}
@keyframes pac-food{0%{opacity:0;transform:translate(160%,0) rotate(var(--food-turn))}.3%{opacity:1}9.72%{opacity:1;transform:translate(-85%,0) rotate(0)}9.73%,100%{opacity:0;transform:translate(-85%,0) rotate(0)}}
.hero-art.hero-motion-paused .pacman-scene *{animation-play-state:paused}
@media(max-width:700px){.pacman-scene{width:min(100%,440px);aspect-ratio:1.48}.hero .hero-art{min-height:225px}.pacman-character{top:8%}.pacman-floor{top:89%}}
@media(prefers-reduced-motion:reduce){.pacman-scene{transform:none;transition:none}.pacman-scene *{animation:none!important;will-change:auto}.pacman-food{display:none}.pacman-food:first-child{display:block;opacity:1;transform:translate(75%,-18%) scale(.85)}.pacman-food:nth-child(2){display:block;opacity:1;transform:translate(150%,-55%) scale(.68)}}
/* Reduce high-frequency food texture at animation scale without softening the mascot. */
.hero-art .pacman-food img{filter:blur(.38px) contrast(.96) saturate(.98) drop-shadow(0 10px 7px #57441c1b);image-rendering:auto;backface-visibility:hidden}
@media(max-width:700px){.hero-art .pacman-food img{filter:blur(.3px) contrast(.96) saturate(.98) drop-shadow(0 8px 6px #57441c18)}}
