/* Companion styles for site-motion.js, shared by every page */
.spoon-cursor{position:fixed;left:0;top:0;width:34px;height:34px;margin:-6px 0 0 -6px;z-index:2147483000;pointer-events:none;opacity:0;transform-origin:30% 30%;will-change:transform;transition:opacity .2s}
.spoon-cursor.is-on{opacity:1}
.spoon-cursor svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 2px #143d2b33)}
.spoon-cursor .spoon-body{fill:#143d2b;stroke:#fff5dd;stroke-width:34;paint-order:stroke}
.spoon-cursor .spoon-drop{fill:#f3bf3d;transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform-origin:48% 49%}
.spoon-cursor.is-hot .spoon-drop{transform:scale(1.35)}
@media(pointer:coarse),(hover:none),(prefers-reduced-motion:reduce){.spoon-cursor{display:none}}
@media(forced-colors:active){.spoon-cursor{display:none}}


/* Cross-page transitions (Chrome, Edge, Safari 18.2+); browsers without support simply navigate */
@view-transition{navigation:auto}
::view-transition-old(root){animation:dc-page-out .32s cubic-bezier(.65,0,.35,1) both}
::view-transition-new(root){animation:dc-page-in .6s cubic-bezier(.22,1,.36,1) both}
@keyframes dc-page-out{to{opacity:0;transform:translateY(-14px) scale(.985)}}
@keyframes dc-page-in{from{opacity:0;transform:translateY(26px)}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* Headline words stay unseen until their rise starts (site-motion.js); never hidden without motion */
html.words-ready [data-words=ready] .meal-type-word,html.words-ready [data-words=ready] .brand-word{opacity:0}
@media(prefers-reduced-motion:reduce){html.words-ready [data-words] .meal-type-word,html.words-ready [data-words] .brand-word{opacity:1!important}}
