/* Billy's local character rig and scroll choreography. */
.character-stage{width:min(320px,62vw);height:auto;aspect-ratio:1;position:relative;margin:auto}.billy-character{width:100%;height:100%;overflow:visible;display:block}.billy-body{transform-origin:250px 440px}.billy-head{transform-origin:254px 252px}.billy-wing-left{transform-origin:205px 290px}.billy-wing-right{transform-origin:313px 302px}.billy-tail{transform-origin:205px 295px}.billy-beak-lower{transform-origin:274px 184px}.billy-pupils{transform:translate(var(--eye-x,0px),var(--eye-y,0px));transition:transform .16s}.billy-eyes{transform-origin:270px 152px}.billy-wink,.billy-pop{opacity:0}.billy-crumbs{opacity:0}.character-stage.is-performing .billy-body{animation:billy-bounce 4.5s both}.character-stage.is-performing .billy-head{animation:billy-peck 4.5s both}.character-stage.is-performing .billy-beak-lower{animation:billy-chomp 4.5s both}.character-stage.is-performing .billy-wing-right{animation:billy-wave 4.5s both}.character-stage.is-performing .billy-wing-left{animation:billy-balance 4.5s both}.character-stage.is-performing .billy-tail{animation:billy-tail 4.5s both}.character-stage.is-performing .billy-eyes{animation:billy-blink 4.5s both}.character-stage.is-performing .billy-crumbs{animation:billy-crumbs 4.5s both}.character-stage.is-performing .billy-pop{animation:billy-pop 4.5s both}.character-stage.is-performing .billy-shadow{animation:billy-shadow 4.5s both;transform-origin:240px 450px}.character-stage:not(.is-performing) .billy-eyes{animation:idle-blink 6s infinite}.intro-center{width:100%;max-width:620px}.intro.active{background:var(--cream);color:var(--ink)}.intro-word{color:var(--red);font-size:75px;letter-spacing:-2px}.intro-word span{color:var(--ink);font-size:11px;letter-spacing:8px;margin:17px 0}.intro-track{background:#28292120;margin-top:20px}.intro-track span{background:var(--red);animation-duration:4.7s}.intro-top{color:var(--red)}.skip-intro{color:var(--ink);border:1px solid var(--line);padding:12px 20px;border-radius:30px;text-decoration:none}.intro-scribble{font:italic 23px Georgia;position:absolute;top:15%;right:-40px;color:var(--red);transform:rotate(10deg)}.intro-center>p{font-size:12px}.intro.active:before{content:'';position:absolute;left:-80px;bottom:-80px;width:250px;height:250px;border:35px solid var(--yellow);border-radius:50%;opacity:.5}.intro.leaving{transform:translateY(-105%) rotate(-2deg);transform-origin:left bottom;transition-duration:.85s}
@keyframes billy-bounce{0%{transform:translateY(15px) scale(.94,1.04)}10%{transform:translateY(-6px) scale(1.02,.98)}18%,65%,100%{transform:none}70%{transform:translateY(-18px) scale(.98,1.02)}77%{transform:scale(1.05,.95)}85%{transform:none}}
@keyframes billy-peck{0%,12%{transform:rotate(-8deg)}20%{transform:rotate(8deg)}29%{transform:rotate(-12deg)}39%{transform:translate(20px,65px) rotate(70deg)}45%{transform:rotate(14deg)}52%{transform:translate(20px,65px) rotate(70deg)}61%{transform:rotate(-14deg)}72%,100%{transform:rotate(0)}82%{transform:rotate(-8deg)}}
@keyframes billy-chomp{0%,30%,45%,58%,100%{transform:rotate(0)}36%,49%{transform:rotate(22deg)}40%,53%{transform:rotate(0)}72%,80%{transform:rotate(12deg)}}
@keyframes billy-wave{0%,25%,65%,100%{transform:rotate(0)}38%,52%{transform:rotate(22deg)}73%{transform:rotate(-26deg)}80%{transform:rotate(8deg)}87%{transform:rotate(-24deg)}94%{transform:rotate(0)}}
@keyframes billy-balance{0%,22%,65%,100%{transform:rotate(0)}39%,52%{transform:rotate(-20deg)}74%{transform:rotate(12deg)}}
@keyframes billy-tail{0%,22%,65%,100%{transform:rotate(0)}38%{transform:rotate(-10deg)}45%{transform:rotate(8deg)}53%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}
@keyframes billy-blink{0%,12%,17%,76%,81%,100%{transform:scaleY(1)}14%,79%{transform:scaleY(.08)}}
@keyframes idle-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.08)}}
@keyframes billy-crumbs{0%,25%{opacity:0;transform:translateY(-20px)}30%,47%{opacity:1;transform:translateY(0)}55%,100%{opacity:0;transform:translate(-20px,-15px)}}
@keyframes billy-pop{0%,70%,98%,100%{opacity:0}78%,90%{opacity:1}}
@keyframes billy-shadow{0%,65%,100%{transform:scaleX(1)}70%{transform:scaleX(.85)}77%{transform:scaleX(1.1)}}
/* Food laid across a takeaway tray, rather than repeated cards. */
.favourites{position:relative;padding-bottom:120px;background:#efdcae}.favourites:before,.family:before{content:'';position:absolute;top:-11px;left:0;width:100%;height:22px;background:radial-gradient(circle at 11px 0,transparent 11px,#efdcae 11.5px) 0 0/22px 22px}.favourites .section-heading{position:relative;z-index:1}.favourites h2{font-size:clamp(75px,9vw,140px);line-height:.84}.favourites h2 em{color:var(--ink)}.tray-caption{text-align:right;display:block;position:relative;right:30px;margin-bottom:25px;color:var(--red)}.favourite-grid{gap:2%;padding:22px 0;position:relative;align-items:start}.feature{border-radius:4px;background:var(--cream);min-height:480px;box-shadow:0 12px 0 #342a1512;transform:translateY(var(--tray-y,0px)) rotate(var(--tilt,-4deg));transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .3s;overflow:visible;border:1px solid #28292120}.feature-chicken{--tilt:-5deg}.feature-burger{--tilt:4deg;margin-top:80px;background:#d3dbb7}.feature-salad{--tilt:-3deg;margin-top:20px;background:#f0b7a0}.feature:before{content:'';position:absolute;top:-12px;left:40%;height:26px;width:70px;background:#ffffff66;transform:rotate(-9deg);z-index:3}.feature img{height:280px;max-width:none;width:112%;margin-left:-6%;filter:drop-shadow(0 12px 9px #28292120)}.feature:hover{transform:translateY(-15px) rotate(0deg);box-shadow:0 20px 0 #342a1510}.feature .eyebrow{letter-spacing:1px}.feature-bottom b{border:1px solid;border-radius:50%;width:36px;height:36px;text-align:center;font-size:25px;font-weight:400}.motion-ready .feature.reveal{opacity:1;transform:translateY(var(--tray-y,0px)) rotate(var(--tilt))}.motion-ready .feature.reveal:hover{transform:translateY(-15px) rotate(0)}
.about{padding-top:130px;padding-bottom:130px;border-top:0}.mascot-panel{background:#e8bd50;border-radius:48% 52% 45% 55%;min-height:470px;display:flex;flex-direction:column;justify-content:center;align-items:center}.mascot-panel .character-stage{width:350px;max-width:90%;margin:0}.mascot-ring{position:absolute;top:25px;font-family:Impact,sans-serif;font-size:19px;letter-spacing:2px;transform:rotate(-9deg)}.mascot-note{position:absolute;bottom:-40px;right:10px;font-size:17px}.character-button{position:relative;z-index:2;border:1px solid var(--ink);background:var(--cream);padding:12px 22px;border-radius:30px;font-size:12px;font-weight:bold;margin-bottom:20px}.character-button span{margin-left:16px;color:var(--red)}.about-copy h2{font-size:clamp(65px,6.3vw,100px)}.about-copy h2 em{color:var(--ink)}
/* One deliberately staged scroll sequence, with a static mobile layout. */
.flavour-scene{height:170vh;min-height:1050px;background:var(--red);color:var(--cream);position:relative}.flavour-sticky{height:100vh;min-height:650px;max-height:1100px;position:sticky;top:0;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;padding:45px 5%}.flavour-sticky>.eyebrow{position:absolute;top:45px}.flavour-sticky h2{font-size:clamp(100px,15vw,230px);text-align:center;line-height:.85;max-width:100%;transform:scale(var(--flavour-scale,1));opacity:var(--flavour-opacity,1)}.flavour-orbit{position:absolute;inset:0;pointer-events:none}.orbit-item{position:absolute;width:25%;max-width:330px;margin:0;will-change:transform}.orbit-item img{width:100%;height:230px;object-fit:contain;filter:drop-shadow(0 15px 10px #160c0926)}.orbit-item figcaption{font:italic 20px Georgia;text-align:center;transform:rotate(-5deg)}.orbit-one{top:8%;left:6%;transform:translate(calc(var(--meal-progress,0)* -55px),calc(var(--meal-progress,0)* 40px)) rotate(calc(-12deg + var(--meal-progress,0)*18deg))}.orbit-two{top:10%;right:6%;transform:translate(calc(var(--meal-progress,0)* 45px),calc(var(--meal-progress,0)*35px)) rotate(calc(12deg - var(--meal-progress,0)*20deg))}.orbit-two img{border-radius:50%;height:185px;object-fit:cover}.orbit-three{bottom:12%;left:10%;transform:translate(calc(var(--meal-progress,0)* -70px),calc(var(--meal-progress,0)* -30px)) rotate(calc(8deg - var(--meal-progress,0)*14deg))}.orbit-four{bottom:9%;right:8%;transform:translate(calc(var(--meal-progress,0)* 65px),calc(var(--meal-progress,0)* -30px)) rotate(calc(-9deg + var(--meal-progress,0)*15deg))}.flavour-link{position:absolute;bottom:40px;border-bottom:1px solid;padding-bottom:8px;font-size:13px}.flavour-scroll{position:absolute;right:4%;bottom:40px;font-size:8px;letter-spacing:2px}.family{position:relative;min-height:740px;padding-top:130px;padding-bottom:130px}.family:before{background:radial-gradient(circle at 11px 0,transparent 11px,var(--ink) 11.5px) 0 0/22px 22px}.family h2{font-size:clamp(65px,7vw,108px)}.family-photo{transform:rotate(calc(5deg - var(--family-progress,0)*9deg));transition:transform .1s linear}.motion-ready .family-photo.reveal.visible{transform:rotate(calc(5deg - var(--family-progress,0)*9deg))}.family-orbit{position:absolute;top:-40px;left:5%;font:italic 20px Georgia;transform:rotate(-4deg);color:var(--yellow)}.family-sticker{transform:rotate(calc(-14deg + var(--family-progress,0)*35deg));border:2px dashed var(--cream);outline:9px solid var(--red)}.menu-section{background:var(--cream)}.menu-section h2{font-size:clamp(60px,7.2vw,110px)}.filters{position:sticky;top:0;background:var(--cream);z-index:5;padding-top:18px}.dish{background:transparent;padding-bottom:22px;border-bottom:2px solid var(--line);transition:transform .3s}.dish-photo{border-radius:50% 50% 6px 6px;background:#fff;transform:rotate(-1.5deg);transition:transform .4s;isolation:isolate}.dish:nth-child(3n+2) .dish-photo{border-radius:6px;transform:rotate(1.5deg)}.dish:nth-child(3n+3) .dish-photo{border-radius:6px 6px 45% 45%}.dish:hover .dish-photo{transform:rotate(0)}.dish-photo:after{content:'✳';position:absolute;right:14px;top:12px;color:var(--red);font-size:35px;transform:scale(0) rotate(-90deg);transition:transform .35s}.dish:hover .dish-photo:after{transform:scale(1) rotate(0)}.dish h3{font-size:29px}.dish strong{display:inline-block;color:var(--red)}.closing{padding-top:110px}.closing-ribbon{position:absolute;top:20px;left:-5%;width:110%;white-space:nowrap;transform:rotate(-3deg) translateX(calc(var(--closing-progress,0)* -80px));background:var(--ink);color:var(--cream);font-family:Impact,sans-serif;font-size:30px;letter-spacing:2px;padding:13px 0}.closing h2{transform:rotate(calc(-4deg + var(--closing-progress,0)*6deg))}.motion-control{position:fixed;right:18px;bottom:18px;z-index:20;background:var(--cream);border:1px solid var(--ink);box-shadow:0 3px 10px #0001;border-radius:25px;padding:10px 15px;font-size:10px}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .reveal{opacity:1!important;transform:none!important}.motion-paused .flavour-scene{height:auto;min-height:750px}.motion-paused .flavour-sticky{position:relative}
@media(max-width:900px){.feature{min-height:410px}.feature img{height:220px}.mascot-panel{min-height:360px}.mascot-ring{font-size:14px}.mascot-panel .character-stage{width:280px}.orbit-item img{height:180px}.orbit-two img{height:140px}.orbit-item figcaption{font-size:16px}.about-copy h2{font-size:62px}}
@media(max-width:620px){.intro .character-stage{width:240px}.intro-word{font-size:65px}.intro-scribble{font-size:18px;right:-8px}.intro-center{margin:auto}.intro-top{font-size:7px}.intro-word span{font-size:9px}.favourites{padding-top:65px;padding-bottom:70px}.favourites h2{font-size:83px}.tray-caption{right:0;font-size:17px}.favourite-grid{gap:40px;padding:10px 5%}.feature{min-height:350px}.feature-burger,.feature-salad{margin-top:0}.feature img{height:220px;width:100%;margin-left:0}.feature-chicken img{margin-top:-50px}.about{padding:75px 5%;gap:70px}.mascot-panel{min-height:390px;margin:0 4%}.mascot-panel .character-stage{width:300px}.mascot-ring{font-size:16px}.about-copy h2{font-size:65px}.flavour-scene{height:auto;min-height:0}.flavour-sticky{height:auto;min-height:0;max-height:none;position:relative;padding:45px 5% 75px}.flavour-sticky>.eyebrow{position:static;font-size:8px;text-align:center;margin-bottom:30px}.flavour-sticky h2{font-size:23vw;transform:none;opacity:1}.flavour-orbit{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:25px 12px;width:100%;margin:25px 0 40px}.orbit-item{position:relative;inset:auto;width:100%;max-width:none;transform:rotate(-5deg)}.orbit-item:nth-child(even){transform:rotate(6deg)}.orbit-item img,.orbit-two img{height:140px;object-fit:contain}.orbit-two img{object-fit:cover;width:135px;margin:auto}.orbit-item figcaption{font-size:15px}.flavour-link{bottom:30px}.flavour-scroll{display:none}.family{padding:80px 5%;min-height:0;gap:70px}.family h2{font-size:64px}.family-orbit{font-size:15px}.family-photo>img{max-height:340px}.menu-section h2{font-size:63px}.dish h3{font-size:23px}.dish-photo:after{font-size:25px}.closing-ribbon{font-size:22px;top:15px}.closing{padding-top:100px}.closing h2{font-size:25vw}.motion-control{right:10px;bottom:10px;padding:9px 12px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.billy-crumbs,.billy-pop{opacity:0}.flavour-scene{height:auto;min-height:0}.flavour-sticky{position:relative;height:850px}.flavour-sticky h2,.orbit-item,.family-photo,.closing h2,.closing-ribbon{transform:none!important}.motion-control{display:none}.flavour-sticky h2{opacity:1}.motion-ready .feature.reveal{transform:rotate(var(--tilt))}@media(max-width:620px){.flavour-sticky{height:auto}}}
.billy-eye-right{transform-origin:291px 145px}.character-stage.is-performing .billy-eye-right{animation:billy-wink-eye 4.5s both}.character-stage.is-performing .billy-wink{animation:billy-wink-line 4.5s both}@keyframes billy-wink-eye{0%,81%,93%,100%{opacity:1;transform:scaleY(1)}85%,90%{opacity:0;transform:scaleY(.05)}}@keyframes billy-wink-line{0%,81%,93%,100%{opacity:0}85%,90%{opacity:1}}

.dish-photo .image-note{top:12px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;border-radius:10px;z-index:2}
.orbit-three img,.orbit-four img{border-radius:50%;object-fit:cover;aspect-ratio:1;width:230px;margin:auto}@media(max-width:900px){.orbit-three img,.orbit-four img{width:180px}}@media(max-width:620px){.orbit-three img,.orbit-four img{width:140px}}
