.food-service{--food-accent:#a4ff00;position:relative;background:#050505;color:#e0dfd9;isolation:isolate}
.food-service *{box-sizing:border-box}.food-pin{position:relative;overflow:hidden;min-height:100svh;background:#050505}
.food-intro{position:relative;min-height:100svh;background:#101112;overflow:hidden}
.food-bands{display:flex;height:clamp(160px,31svh,290px);width:100%;overflow:hidden;gap:2px;border-bottom:1px solid #ffffff0a}
.food-band{flex:0 1 auto;width:10%;height:100%;position:relative;overflow:hidden;background:linear-gradient(114deg,#090806 0%,#201d18 27%,#464037 47%,#9c907b 49%,#2b2720 51%,#0d0b09 79%,#26221c 100%);box-shadow:inset 1px 0 #ccd6ce18,inset -1px 0 #000;animation:food-breathe 3.5s ease-in-out infinite alternate;animation-delay:calc((10 - var(--i))*.22s);animation-play-state:paused}
.food-band:before{content:"";position:absolute;inset:-8%;background:url("assets/food/frames/frame-108.webp") calc(var(--i)*11%) center/auto 125%;filter:grayscale(.8) sepia(.25);opacity:.24;transform:scaleX(-1);mix-blend-mode:screen;pointer-events:none}.food-band:after{content:"";position:absolute;inset:0;background:linear-gradient(108deg,transparent 20%,#fff4d812 43%,#fff2d743 49%,transparent 53%);pointer-events:none}
@keyframes food-breathe{from{width:10%}to{width:500%}}
.food-service.is-visible .food-band{animation-play-state:running}
.food-marquee{overflow:hidden;position:relative;padding-top:6svh;pointer-events:none}.food-track{display:flex;width:max-content;will-change:transform}
.food-track span{display:block;flex:none;padding-right:.65em;white-space:nowrap;color:#555754;font:800 clamp(120px,48svh,580px)/1.08 Barlow,Arial,sans-serif;letter-spacing:0;word-spacing:.12em}
.food-caption{position:absolute;left:5%;right:5%;bottom:32px;display:flex;justify-content:space-between;gap:20px;font:400 12px/1.4 Arial,sans-serif;color:#959a95}
.food-canvas,.food-poster{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.food-canvas{opacity:0}.scene-ready .food-canvas{opacity:1}.food-poster{background:#000;clip-path:inset(100% 0 0 0)}.food-poster img{position:absolute;bottom:0;left:0;width:100%;height:auto;display:block}.scene-ready .food-poster{visibility:hidden}
.food-copy{--food-copy-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI",sans-serif;position:relative;z-index:3;padding:60px 5%;background:#050505;color:#eeeee7}
.food-copy .food-kicker{font:400 12px/1.4 Arial,sans-serif;letter-spacing:.06em;color:#9ca499;margin-bottom:30px}
.food-copy h2{position:static;margin:0 0 24px;font:750 clamp(30px,3.15vw,56px)/calc(.8em + 8px) var(--food-copy-ui);letter-spacing:-.035em;text-wrap:balance}
.food-copy h2::after{content:"";display:block;height:1px;width:min(72%,150px);margin:17px 0 0;background:linear-gradient(90deg,#f2ad21,#ffe45d,#f0a526,#b16915);background-size:220% 100%;box-shadow:0 0 11px #ffbe3c60;animation:food-intro-rule-shimmer 7s linear infinite}
@keyframes food-intro-rule-shimmer{to{background-position:220% 0}}
@media(prefers-reduced-motion:reduce){.food-copy h2::after{animation:none}}
.food-copy p{margin:0;max-width:430px;font:400 clamp(13px,.95vw,16px)/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-kerning:normal;letter-spacing:0;text-transform:none;text-shadow:none;color:#d7e0df}
.food-copy [data-text-reveal]{--text-wave-dim:rgba(238,238,231,.21);--text-wave-accent:#ffb800}
.food-copy a{display:inline-block;margin-top:30px;color:#c8cec2;text-decoration:none;font:400 13px/1.4 Arial,sans-serif;border-bottom:1px solid #89927f;padding-bottom:6px}
.food-copy a:hover{color:#fff}.food-copy a:focus-visible,.food-reveal:focus-visible{outline:2px solid #b6c5a3;outline-offset:6px}
.food-reveal{display:block;margin-top:24px;padding:9px 14px;border:1px solid #b6c5a344;color:#c8cec2;font:400 12px/1.4 Arial,sans-serif;cursor:pointer;background:#ffffff05;text-align:left;min-height:40px}.food-reveal:hover{background:#ffffff12;border-color:#b6c5a3}.food-reveal:disabled{visibility:hidden}
.food-hint{position:absolute;z-index:3;bottom:24px;right:5%;max-width:270px;font:400 11px/1.4 Arial,sans-serif;letter-spacing:.025em;color:#abb0a6;opacity:0;pointer-events:none}.is-final .food-hint{opacity:1}
.food-load{position:absolute;z-index:4;bottom:24px;left:5%;color:#a5aaa0;font:400 11px/1.4 Arial,sans-serif;pointer-events:none}
.food-service.is-enhanced{height:650svh}.food-service.is-enhanced .food-pin{position:sticky;top:0;height:100svh;min-height:0}.food-service.is-enhanced .food-intro{position:absolute;inset:0}.food-service.is-enhanced .food-copy{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:29%;padding:0;background:none;opacity:0}
.food-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1800px){.food-service.is-enhanced .food-copy{top:50%;width:28%}}
@media(max-width:699px){.food-service.is-enhanced{height:560svh}.food-bands{height:26svh;min-height:140px}.food-track span{font-size:32svh}.food-marquee{padding-top:12svh}.food-service.is-enhanced .food-copy{top:30%;left:7%;width:86%}.food-copy h2{font-size:clamp(26px,7.2vw,38px);margin-bottom:18px}.food-copy p{max-width:430px}.food-copy .food-kicker{margin-bottom:18px;font-size:10px}.food-copy a{margin-top:20px}.food-reveal{margin-top:16px}.food-hint{bottom:14px;font-size:10px;right:7%;max-width:190px}.food-poster img{width:135.14%;left:-35.14%}.food-caption{font-size:11px}.food-load{bottom:14px;font-size:10px}}
@media(max-height:650px) and (min-width:700px){.food-service.is-enhanced .food-copy{top:50%}.food-copy .food-kicker{margin-bottom:15px}.food-reveal{margin-top:15px}.food-copy a{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.food-band{animation:none}.food-service.is-enhanced{height:100svh}.food-intro{display:none!important}.food-hint{display:none}}

.food-canvas:focus-visible{outline:1px solid #aa9b7c;outline-offset:-8px}

/* The city-to-rock journey now replaces the mirror-strip entrance. */
.food-journey .stage{position:sticky;top:min(0px,calc(100svh - var(--food-hero-height,100svh)));z-index:0}
.food-journey .food-service.is-enhanced{margin-top:calc(-1 * var(--food-hero-height,100svh));background:transparent}
.food-journey .food-service.is-enhanced .food-pin{background:transparent}
.food-journey .food-intro{z-index:3;background:transparent;pointer-events:none;opacity:0;min-height:0}
.food-journey .food-marquee{padding-top:34svh}
.food-journey .food-track span{font-size:clamp(90px,30svh,340px);color:#bab6af;text-shadow:0 3px 30px #0008}
.food-journey .food-caption{display:none}
.food-journey .food-copy{z-index:4}
.food-journey .food-hint{z-index:4}
@media(prefers-reduced-motion:reduce){.food-journey .stage{position:relative}.food-journey .food-service.is-enhanced{margin-top:0}}


/* Fixed hero above the moving photographic layer; no retreat or scale animation. */
.food-journey .stage{z-index:2;background:transparent}
.food-moving .stage{pointer-events:none}
.food-covered .stage{visibility:hidden}
.food-journey .stage:not(.cinematic) h1{transform:none;filter:none}
.food-journey .stage:not(.cinematic) .intro,.food-journey .stage:not(.cinematic) .eyebrow,.food-journey .stage:not(.cinematic) footer,.food-journey .stage:not(.cinematic) .directions{filter:none}
.food-journey .stage .shade{opacity:var(--food-backdrop,1)}
.food-journey .food-marquee{display:none}
.food-title-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.food-journey .food-intro{display:none}}

.food-selected-title{position:fixed;left:0;top:0;z-index:20;pointer-events:none;white-space:nowrap;visibility:hidden;will-change:transform,opacity}
.food-selected-title span{display:block}
.food-journey .directions li{translate:var(--selection-shift,0px) 0;opacity:calc(var(--selection-opacity,1)*var(--service-enter,0))!important}
.food-journey .directions li:has([data-service="food"])>span{opacity:var(--selection-description,1)}

/* The service rail retracts and loses light before the rocks cover the hero. */
.food-journey .directions{background-position:center top;background-size:calc(var(--line-reveal,0)*var(--service-line-life,1)*100%) 1px;background-image:linear-gradient(90deg,transparent,rgb(180 210 220 / calc(.65*var(--service-line-life,1))),transparent)}
.food-journey .directions:before,.food-journey .directions:after{opacity:calc(var(--beam-visible,0)*var(--service-line-life,1))}

.food-journey .directions li:has([data-service="food"]) button:before{opacity:calc(var(--glow,0)*var(--selection-beacon-opacity,1))}
