/* Graphic structure from the first direction, with restrained interaction motion. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--motion-fast:220ms;--motion-scene:460ms}
@view-transition{navigation:none}
::view-transition,::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}
.header{position:relative;z-index:10;view-transition-name:site-header}
::view-transition-group(site-header){animation-duration:300ms}
::view-transition-group(root){animation:none}
::view-transition-old(root){animation:hop-page-out 140ms ease-out both}
::view-transition-new(root){animation:hop-page-in 280ms var(--ease-out) both}
@keyframes hop-page-out{to{opacity:0}}
@keyframes hop-page-in{from{opacity:0}to{opacity:1}}
.hero{isolation:isolate}.hero-copy{isolation:isolate}.hero-copy>*{position:relative;z-index:1}
.hero-copy::before{content:"";position:absolute;z-index:0;width:470px;height:470px;left:-310px;top:-230px;border:1px solid #faf5e934;border-radius:50%;box-shadow:0 0 0 32px var(--red),0 0 0 33px #faf5e91f;pointer-events:none}
.hero-copy::after{content:"";position:absolute;z-index:0;left:28%;bottom:32px;width:85%;height:1px;background:#faf5e92b;transform:rotate(-14deg);transform-origin:left center;pointer-events:none}
.photo-edge{display:block;z-index:2;width:28px;background:var(--red);clip-path:polygon(0 0,85% 0,30% 9%,95% 18%,35% 28%,85% 38%,25% 49%,95% 58%,30% 68%,85% 78%,25% 87%,90% 100%,0 100%)}
.hero-photo{overflow:hidden}.hero-photo>img{transform:scale(1.015);transition:transform 1s var(--ease-out)}
@media(hover:hover) and (pointer:fine){.hero-photo:hover>img{transform:scale(1.045)}}
.home-practical{position:relative;border-bottom:1px solid var(--ink)}
.home-practical>div+div{border-left:1px solid var(--line);padding-left:36px}
.home-practical::before{content:"";position:absolute;top:-1px;left:7%;width:100px;height:4px;background:var(--red)}
.home-food{align-items:start;padding-top:72px;padding-bottom:84px}.food-intro{padding-top:22px}.food-intro h2,.home-reviews h2{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:.98}
.food-intro h2{font-size:clamp(42px,4vw,58px)}.home-reviews h2{font-size:48px}
.home-food .food-picture:last-child{margin-top:38px}
.food-picture .photo-frame{display:block;position:relative;overflow:hidden;border-radius:2px 2px 0 0}
.food-picture img{transition:transform 800ms var(--ease-out),filter 400ms ease;transform:scale(1.001)}
.food-picture>span{padding-bottom:14px;border-bottom:1px solid var(--ink);transition:color var(--motion-fast),border-color var(--motion-fast)}
.food-picture>span>span{transition:transform var(--motion-fast) var(--ease-out)}
@media(hover:hover){.food-picture:hover img{transform:scale(1.045);filter:saturate(1.06)}.food-picture:hover>span{border-color:var(--red)}.food-picture:hover>span>span{transform:translateX(4px)}}
.home-reviews{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-review-feature{border-left:1px solid #c5bcac;padding-left:36px}
.page-title{position:relative}.page-title h1{text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(60px,7vw,96px)}
.page-title::after{content:"";display:block;width:80px;height:2px;background:var(--red);margin-top:25px;transform:rotate(-5deg);transform-origin:left center}
.menu-page-title h1{font-size:68px}.menu-page-title::after{width:64px;margin-top:18px}
.simple-story{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-photo{overflow:hidden}.story-photo img{transition:transform 900ms var(--ease-out)}
@media(hover:hover){.story-photo:hover img{transform:scale(1.035)}}
.reviews-overview{border-top-color:var(--ink)}
.visit-band{position:relative;overflow:hidden}.visit-band::after{content:"";position:absolute;right:-80px;top:-150px;width:280px;height:280px;border:1px solid #faf5e93d;border-radius:50%;pointer-events:none}.visit-band>*{position:relative;z-index:1}
.header nav a{position:relative;border-bottom-color:transparent!important;transition:color 220ms ease}
.header nav a::after{content:"";position:absolute;bottom:8px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--ease-out)}
.header nav a[aria-current=page]::after,.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.brand{transition:color 220ms ease}.brand:hover{color:var(--red)}
.button{transition:background 240ms ease,color 240ms ease,transform 350ms var(--ease-out);position:relative}
.button>span{display:inline-block;transition:transform 350ms var(--ease-out)}
.button:hover>span,.button:focus-visible>span{transform:translate(3px,-3px)}.button:active{transform:translateY(0) scale(.985)}
.text-link{transition:color 220ms ease,border-color 220ms ease;gap:30px}.text-link>span{transition:transform 300ms var(--ease-out)}.text-link:hover{color:var(--red);border-color:var(--red)}.text-link:hover>span{transform:translate(3px,-3px)}
.category-button{transition:background 220ms ease,color 220ms ease,transform 300ms var(--ease-out)}.category-button:hover{transform:translateX(3px)}.category-button[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--red-dark)}
.search-field{transition:border-color 220ms ease,box-shadow 220ms ease}.search-field:focus-within{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.menu-item{transition:background 240ms ease}.menu-item:hover{background:#bc2b2005}
.nav-toggle span{display:inline-block;transition:transform 300ms var(--ease-out)}.nav-toggle[aria-expanded=true] span{transform:rotate(180deg)}
dialog::backdrop{transition:opacity 200ms ease}
footer{border-top:1px solid var(--line)}
@media(max-width:1023px){.home-practical>div+div{padding-left:24px}.food-intro h2{font-size:42px}.home-reviews h2{font-size:42px}.home-review-feature{padding-left:25px}.hero-copy::before{left:-340px}}
@media(max-width:767px){.photo-edge{display:block;inset:-1px 0 auto 0;width:100%;height:15px;clip-path:polygon(0 0,100% 0,100% 65%,90% 30%,80% 80%,70% 30%,60% 85%,50% 25%,40% 80%,30% 25%,20% 85%,10% 30%,0 80%)}.hero-copy::before{width:340px;height:340px;left:-265px;top:-235px}.hero-copy::after{bottom:18px;width:75%;left:45%;opacity:.7}.home-practical{border-bottom-color:var(--line)}.home-practical>div+div{border-left:0;padding-left:0}.home-practical::before{left:6%;width:65px;height:3px}.home-food{padding-top:34px;padding-bottom:45px}.food-intro{padding-top:0}.food-intro h2{font-size:42px}.home-food .food-picture:last-child{margin-top:24px}.home-reviews h2{font-size:39px}.home-review-feature{border-left:0;border-top:1px solid #c5bcac;padding:24px 0 0}.page-title h1{font-size:50px}.page-title::after{width:60px;margin-top:20px}.menu-page-title h1{font-size:46px}.menu-page-title::after{margin-top:16px;width:50px}.mobile-nav:not([hidden]){position:absolute;top:76px;left:0;right:0;z-index:15;box-shadow:0 14px 22px #26251f12;border-bottom:1px solid var(--ink);padding-top:12px;padding-bottom:22px}.mobile-nav a{border-bottom:1px solid var(--line)}.mobile-nav a:last-child{border-bottom:0}.header nav a::after{display:none}.category-button:hover{transform:none}}
@media(max-width:359px){.page-title h1{font-size:43px}.menu-page-title h1{font-size:42px}.food-intro h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.hero-photo>img,.food-picture img,.story-photo img{transform:none!important}.button:hover{transform:none}.button>span,.text-link>span{transform:none!important}}
