/* Campus Burger: movement with the original brand palette. */
.featured[hidden],#live-order[hidden]{display:none}.featured{perspective:900px}.featured-photo img{animation:hero-breathe 8s ease-in-out infinite;transform-origin:center}.featured .price-sticker{animation:sticker-bob 6s ease-in-out infinite}.featured-copy h1{max-width:100%;overflow-wrap:anywhere}.featured-photo:after{pointer-events:none}.featured-cta{box-shadow:0 5px 0 #622d1128}.featured-cta:active{transform:translateY(3px);box-shadow:none}.product-card{transition:transform .3s,box-shadow .3s,border-color .3s}.product-card:hover{border-color:#f9640280;box-shadow:0 12px 28px #622d1114}.product-visual img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.product-card:hover .product-visual img{transform:scale(1.06) rotate(-2deg)}.add-button:active{transform:scale(.9)}
#live-order{margin-bottom:22px}.prep-card{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;background:var(--ink);color:var(--paper);padding:24px;display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;margin:20px 0 24px}.prep-art{position:relative;min-height:155px;display:grid;place-items:center}.prep-art img{position:relative;width:150px;height:135px;object-fit:contain;border-radius:50%;z-index:1}.prep-orbit{position:absolute;width:145px;height:145px;border:1px dashed #f9640270;border-radius:50%;animation:orbit 25s linear infinite}.prep-state-icon{position:absolute;right:0;bottom:0;background:var(--orange);color:var(--ink);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;z-index:3;transform:rotate(-8deg)}.prep-copy .eyebrow{color:var(--orange);font-size:.75rem;letter-spacing:1.5px}.prep-copy h3{font-family:var(--display);font-size:2rem;line-height:1.05;margin:10px 0}.prep-copy p{font-size:.875rem;line-height:1.65;color:#d8d1c6}.prep-link{color:var(--paper);padding:10px 0 0;display:flex;gap:12px;align-items:center;font-weight:700;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.prep-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:20px 0 0;margin:0;border-top:1px solid #ffffff24;gap:6px}.prep-steps li{display:flex;flex-direction:column;gap:9px;color:#c7beb1;align-items:center;text-align:center}.prep-steps li>span{width:32px;height:32px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center;font-size:.75rem}.prep-steps strong{font-size:.75rem;font-weight:500}.prep-steps .current{color:var(--orange)}.prep-steps .current>span{background:var(--orange);color:var(--ink);border-color:var(--orange);box-shadow:0 0 0 5px #f9640220}.prep-steps .complete>span{border-color:var(--orange);color:var(--orange)}.prep-steps svg{width:16px;height:16px}.prep-preparing .prep-art img{animation:cooking 3s ease-in-out infinite}.prep-preparing .prep-state-icon{animation:sticker-bob 2s ease-in-out infinite}.heat-trace{position:absolute;z-index:2;top:9px;width:3px;height:24px;border-radius:50%;background:linear-gradient(transparent,#fff4de);animation:heat 2.2s ease-in-out infinite;pointer-events:none}.heat-one{left:40%}.heat-two{left:52%;animation-delay:.7s}.heat-three{left:64%;animation-delay:1.4s}.prep-on_the_way .prep-art{animation:delivery-sway 2.5s ease-in-out infinite}.prep-delivered .prep-state-icon{animation:celebrate .6s ease-out}.prep-compact{margin:0;padding:16px 22px;grid-template-columns:108px 1fr;gap:20px}.prep-compact .prep-art{min-height:112px}.prep-compact .prep-art img{width:105px;height:100px}.prep-compact .prep-orbit{width:106px;height:106px}.prep-compact h3{font-size:1.75rem;margin:7px 0}.prep-compact p{font-size:.875rem}.prep-compact .prep-state-icon{width:30px;height:30px;border-radius:9px}.prep-compact .prep-state-icon svg{width:17px;height:17px}
.motion-control{font-size:.75rem;color:var(--muted);padding:10px;border:1px solid var(--line);border-radius:20px;min-height:36px}.site-footer{flex-wrap:wrap}.user-motion-paused *, .motion-paused *{animation-play-state:paused!important}.user-motion-paused .product-card,.user-motion-paused .product-visual img{transition:none}.product-dialog[open],.detail-dialog[open],.cart-dialog[open]{animation:dialog-enter .25s ease-out}
@keyframes hero-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045) rotate(.7deg)}}@keyframes sticker-bob{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes cooking{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes heat{0%{opacity:0;transform:translateY(12px) scaleY(.6)}40%{opacity:.8}100%{opacity:0;transform:translateY(-25px) scaleY(1.4)}}@keyframes delivery-sway{0%,100%{transform:translateX(-3px) rotate(-1deg)}50%{transform:translateX(3px) rotate(1deg)}}@keyframes celebrate{0%{transform:scale(.5) rotate(-30deg)}70%{transform:scale(1.15) rotate(8deg)}100%{transform:scale(1) rotate(-8deg)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.prep-card{padding:18px;gap:14px;grid-template-columns:100px 1fr}.prep-art{min-height:115px}.prep-art img{width:100px;height:100px}.prep-orbit{width:104px;height:104px}.prep-copy h3{font-size:1.6rem}.prep-compact{padding:16px;grid-template-columns:78px 1fr;gap:12px}.prep-compact .prep-art img{width:77px;height:85px}.prep-compact .prep-orbit{width:78px;height:78px}.prep-compact h3{font-size:1.5rem}.prep-compact .prep-art{min-height:94px}.prep-steps{column-gap:4px;row-gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.prep-steps strong{font-size:.8125rem}.prep-copy .eyebrow{letter-spacing:.7px}.featured .price-sticker{max-width:145px}.price-sticker span{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.featured-single .featured-photo{inset:0 0 0 40%}.featured-single .featured-photo img{object-fit:contain;mix-blend-mode:multiply}.featured-single .featured-photo:after{display:none}@media(max-width:600px){.featured-single .featured-photo{inset:80px -30% 0 30%}}

.prep-cancelled .prep-orbit,.prep-rejected .prep-orbit,.prep-expired .prep-orbit,.prep-delivered .prep-orbit{animation:none}
