/* Only the homepage becomes a fixed stage. Detail pages keep native scrolling. */
.visit-scene-photo{display:none}.home-visit-copy .home-visit-actions{margin-top:22px}.home-visit-copy .hand-label{font-size:24px;color:var(--accent)}.scene-controls[hidden]{display:none}
html.has-pinned-home{height:100%;overflow:hidden;overscroll-behavior:none;scroll-padding:0}
body.pinned-home{height:100dvh;overflow:hidden;overscroll-behavior:none;--scene-duration:1800ms;--scene-top:100px;--scene-bottom:76px}

.pinned-home>.header{position:absolute;top:0;left:0;right:0;height:100px;z-index:30}
.pinned-home>#main{position:absolute;top:var(--scene-top);bottom:var(--scene-bottom);left:0;right:0;isolation:isolate;touch-action:pan-x pinch-zoom}
.pinned-home .home-scene{position:absolute;inset:0;max-width:1320px;width:calc(100% - 112px);height:100%;min-height:0;margin:auto;padding:16px 0 22px;opacity:0;visibility:hidden;transform:scale(.992);transform-origin:center;pointer-events:none;transition:opacity 1100ms cubic-bezier(.4,0,.2,1),transform var(--scene-duration) cubic-bezier(.22,1,.36,1),visibility 0s var(--scene-duration);background:var(--canvas)}
.pinned-home .home-scene.is-active{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto;transition-delay:0s;z-index:2}
.pinned-home .home-scene h1,.pinned-home .home-scene h2{outline-offset:8px}
.pinned-home>.footer,.pinned-home>.mobile-book{display:none}
.pinned-home .hero,.pinned-home .home-story,.pinned-home .home-space,.pinned-home .home-menu-layout,.pinned-home .home-visit>.container{display:grid;grid-template-columns:1fr 1.08fr;gap:60px;align-items:center}
.pinned-home .home-menu-layout,.pinned-home .home-visit>.container{width:100%;max-width:none;height:100%;margin:0}
.pinned-home .hero-copy{padding:0;max-width:560px;min-width:0}
.pinned-home .hero-photo,.pinned-home .home-story>figure,.pinned-home .home-dish,.pinned-home .home-space>figure,.pinned-home .visit-scene-photo{width:100%;max-width:none;height:100%;min-height:0;align-self:stretch;margin:0;overflow:hidden;background:var(--paper)}
.pinned-home .hero-photo>img,.pinned-home .home-story>figure>img,.pinned-home .home-dish>img,.pinned-home .home-space>figure>img,.pinned-home .visit-scene-photo>img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.pinned-home .home-story>figure{order:2;background:var(--canvas)}.pinned-home .home-story>figure>img{object-fit:contain}
.pinned-home .home-story>div{order:1}.pinned-home .home-friends{display:none}
.pinned-home .home-dish{order:2}.pinned-home .home-menu-copy{order:1;max-width:520px}
.pinned-home .visit-scene-photo{display:block}.pinned-home .hero-bottom{display:none}
.pinned-home .brand-tagline{max-width:510px}.pinned-home .location-note{margin-bottom:22px}
.pinned-home .hero-intro{font-size:20px;margin-top:28px}.pinned-home .hero-actions{margin-top:26px}
.pinned-home .home-story h2,.pinned-home .home-menu-copy h2,.pinned-home .home-space h2,.pinned-home .home-visit h2{font-size:clamp(28px,2.6vw,38px);line-height:1.5}
.pinned-home .home-story>div>p:not(.hand-label),.pinned-home .home-space>div>p:not(.hand-label),.pinned-home .teaser-description{font-size:15px;line-height:2;margin-top:24px}
.pinned-home .home-story .text-link,.pinned-home .home-space .text-link{margin-top:30px}
.pinned-home .home-menu-copy #menu-items{margin-top:26px}.pinned-home .home-menu-copy .menu-row{padding-block:16px}
.pinned-home .home-visit p:not(.hand-label){font-size:14px;line-height:2.2}.pinned-home .home-visit .hand-label{font-size:28px;margin-bottom:18px}.pinned-home .home-visit-actions{margin-top:32px;flex-wrap:wrap}
.scene-controls{position:absolute;inset:auto 56px 0;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:40;background:var(--canvas);border-top:1px solid var(--line)}
.scene-hint{font-size:11px;color:var(--muted);min-width:235px}.scene-steps{display:flex;gap:26px;align-items:center}.scene-steps button{position:relative;background:none;border:0;padding:16px 3px;font-size:12px;color:var(--muted);min-height:44px}.scene-steps button::before{content:'';position:absolute;bottom:7px;left:50%;width:4px;height:4px;border-radius:50%;background:transparent;transform:translateX(-50%)}.scene-steps button[aria-current]{color:var(--ink);font-weight:600}.scene-steps button[aria-current]::before{background:var(--accent)}
@media(max-width:1100px){.pinned-home .home-scene{width:calc(100% - 64px)}.pinned-home .hero,.pinned-home .home-story,.pinned-home .home-space,.pinned-home .home-menu-layout,.pinned-home .home-visit>.container{gap:35px}.scene-controls{inset-inline:32px}.scene-hint{min-width:0}.scene-steps{gap:16px}.pinned-home .hero-intro{font-size:18px}}
@media(min-width:761px) and (max-height:760px){.pinned-home{--scene-top:80px;--scene-bottom:64px}.pinned-home>.header{height:80px}.scene-controls{height:64px}.pinned-home .hero-detail{display:none}.pinned-home .brand-tagline{max-width:420px}.pinned-home .location-note{margin-bottom:12px}.pinned-home .hero-intro{margin-top:20px;font-size:17px}.pinned-home .hero-actions{margin-top:20px}.pinned-home .home-menu-copy .menu-row{padding-block:10px}.pinned-home .home-menu-copy #menu-items{margin-top:15px}.pinned-home .hand-label{margin-bottom:8px}.pinned-home .home-scene h2{font-size:28px}}
@media(max-width:760px){
  body.pinned-home{--scene-top:83px;--scene-bottom:82px}.pinned-home>.header{top:0;height:80px}
  .pinned-home .home-scene{width:calc(100% - 40px);padding:10px 0 14px}
  .pinned-home .hero,.pinned-home .home-story,.pinned-home .home-space,.pinned-home .home-menu-layout,.pinned-home .home-visit>.container{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:22px;align-items:stretch}
  .pinned-home .hero-copy{max-width:none;display:block}.pinned-home .hero-photo{grid-row:2}
  .pinned-home .brand-tagline{max-width:320px;margin:2px 0}.pinned-home .location-note{font-size:10px;margin-bottom:12px}
  .pinned-home .hero-intro{font-size:16px;line-height:1.7;margin-top:16px}.pinned-home .hero-detail{display:none}
  .pinned-home .hero-actions{gap:22px;margin-top:18px}.pinned-home .hero-actions .button{min-height:42px;padding:9px 16px;font-size:11px}.pinned-home .hero-actions .text-link{font-size:11px}
  .pinned-home .hero-photo>img{object-position:center 58%}.pinned-home .hero-photo figcaption{padding:30px 13px 12px}
  .pinned-home .home-story>figure{grid-row:2;align-self:stretch}.pinned-home .home-story>div{grid-row:1}
  .pinned-home .home-story>figure>img{object-fit:contain}.pinned-home .home-scene .hand-label{font-size:23px;margin-bottom:8px}
  .pinned-home .home-story h2,.pinned-home .home-menu-copy h2,.pinned-home .home-space h2,.pinned-home .home-visit h2{font-size:25px;line-height:1.45;margin:0}
  .pinned-home .home-story>div>p:not(.hand-label),.pinned-home .home-space>div>p:not(.hand-label),.pinned-home .teaser-description{font-size:12px;line-height:1.8;margin-top:12px}
  .pinned-home .home-story .text-link,.pinned-home .home-space .text-link{margin-top:14px}
  .pinned-home .home-menu-copy #menu-items{margin-top:12px}.pinned-home .home-menu-copy .menu-row{padding-block:8px}.pinned-home .home-menu-copy .menu-row h3{font-size:13px}.pinned-home .home-menu-copy>.text-link{margin-top:14px}.pinned-home .home-menu-copy .teaser-description{display:none}
  .pinned-home .home-dish{grid-row:2}.pinned-home .home-space>figure{grid-row:2}.pinned-home .home-visit>.container{gap:24px}
  .pinned-home .home-visit p:not(.hand-label){font-size:12px;line-height:1.8;margin-top:10px}.pinned-home .home-visit-actions{margin-top:18px;gap:20px;justify-content:flex-start}.pinned-home .home-visit-actions .button{font-size:11px;min-height:42px}
  .scene-controls{inset:auto 20px 0;height:82px;padding-bottom:env(safe-area-inset-bottom);gap:15px}.scene-hint{display:none}.scene-steps{gap:18px;flex:1;justify-content:space-between}.scene-steps button{font-size:11px;padding-inline:0}
}
@media(max-width:380px){.scene-steps{gap:12px}.scene-controls{gap:10px}.pinned-home .home-scene h2{font-size:23px}}
@media(max-width:760px) and (max-height:700px){.pinned-home .brand-tagline{max-width:250px}.pinned-home .location-note{display:none}.pinned-home .hero-intro{font-size:14px;margin-top:10px}.pinned-home .hero-actions{margin-top:12px}.pinned-home .home-story>div>p:not(.hand-label){display:none}.pinned-home .home-scene h2{font-size:23px}.pinned-home .home-menu-copy .menu-row{padding-block:6px}.pinned-home .home-scene{padding-top:4px}.pinned-home .home-scene .hand-label{font-size:20px}}
@media(prefers-reduced-motion:reduce){.pinned-home .home-scene{transition:none;transform:none}}

/* Layered reveals keep the viewport still while each composition unfolds. */
.pinned-home .home-scene{--reveal-edge:inset(0 100% 0 0);--copy-offset:24px;transform:none;transition:opacity 800ms ease,visibility 0s 1800ms}
.pinned-home .home-scene[data-direction="backward"]{--reveal-edge:inset(0 0 0 100%);--copy-offset:-24px}
.pinned-home .home-scene.is-active{transform:none;transition-delay:0s}
.pinned-home .home-scene.is-active .scene-media{animation:knot-curtain 1400ms cubic-bezier(.76,0,.24,1) both}
.pinned-home .home-scene.is-active .scene-media>img{animation:knot-photo var(--scene-duration) cubic-bezier(.16,1,.3,1) both;transform-origin:center}
.pinned-home .home-scene.is-active .scene-copy-item{animation:knot-copy 1100ms cubic-bezier(.22,1,.36,1) both;animation-delay:var(--item-delay,0ms)}
.scene-steps button::before{transition:width 500ms ease,background-color 500ms ease}
.scene-steps button[aria-current]::before{width:18px;border-radius:2px}
@keyframes knot-curtain{from{clip-path:var(--reveal-edge)}to{clip-path:inset(0 0 0 0)}}
@keyframes knot-photo{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes knot-copy{from{opacity:0;transform:translateX(var(--copy-offset));filter:blur(5px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}
@media(max-width:760px){.pinned-home .home-scene{--copy-offset:16px}.pinned-home .home-scene[data-direction="backward"]{--copy-offset:-16px}}
@media(prefers-reduced-motion:reduce){.pinned-home .home-scene,.scene-steps button::before{transition:none}.pinned-home .home-scene.is-active .scene-media,.pinned-home .home-scene.is-active .scene-media>img,.pinned-home .home-scene.is-active .scene-copy-item{animation:none;clip-path:none;filter:none;transform:none}}

@media(max-width:760px){.pinned-home>#main{touch-action:pan-y pinch-zoom}.scene-controls{flex-direction:column;justify-content:center;gap:0}.scene-hint{display:block;font-size:10px;line-height:1.5;text-align:center}.scene-steps{width:100%;flex:0;justify-content:space-between}.scene-steps button{padding-block:10px}.scene-steps button::before{bottom:3px}}

@media(max-width:760px){.pinned-home .brand-tagline{margin-inline:auto}.pinned-home .hero-copy{text-align:center}.pinned-home .hero-copy h1{margin-left:0}.pinned-home .hero-copy .location-note,.pinned-home .hero-actions{justify-content:center}}

.pinned-home .home-dish.home-menu-illustration{background:var(--canvas)}
.pinned-home .home-dish.home-menu-illustration>img{object-fit:contain;mix-blend-mode:multiply}
