@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/bricolage-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/bricolage-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/bricolage-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/bricolage-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/manrope-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/manrope-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/manrope-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
--blue:#153f9c;
--deep:#102e72;
--yellow:#f6d65a;
--ink:#1d2636;
--muted:#535c6b;
--line:#d9dee7;
--white:#fff;
--display:'Bricolage Grotesque',sans-serif;
--body:'Manrope',sans-serif;
--gutter:clamp(22px,5.5vw,88px)
}

*{
box-sizing:border-box
}
html{
scroll-behavior:smooth;
scroll-padding-top:90px
}
body{
margin:0;
color:var(--ink);
background:var(--white);
font-family:var(--body);
font-size:16px;
line-height:1.65;
-webkit-font-smoothing:antialiased
}
a{
color:inherit;
text-underline-offset:5px
}
button,input{
font:inherit
}
button,a{
-webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{
outline:3px solid var(--blue);
outline-offset:5px
}
img{
display:block;
max-width:100%;
height:auto
}
h1,h2,h3,p{
margin:0
}
h1,h2,h3{
font-family:var(--display);
font-weight:700;
line-height:1.03;
text-wrap:balance;
letter-spacing:-.035em
}
h1{
font-size:clamp(45px,7.5vw,96px)
}
h2{
font-size:clamp(34px,4.4vw,64px)
}
h3{
font-size:23px
}
p{
max-width:65ch
}
svg{
width:24px;
height:24px;
flex-shrink:0
}
ul{
list-style:none;
margin:0;
padding:0
}
[hidden]{
display:none!important
}
::selection{
background:var(--yellow);
color:var(--deep)
}
.skip{
position:fixed;
left:16px;
top:-100px;
z-index:20;
padding:12px 18px;
background:var(--yellow)
}
.skip:focus{
top:12px
}
.site-header{
position:sticky;
top:0;
height:93px;
z-index:5;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:16px var(--gutter);
background:var(--white);
border-bottom:1px solid var(--line);
min-height:88px
}
.brand{
width:235px;
height:60px;
display:block;
flex-shrink:0;
overflow:hidden
}
.brand img{
width:235px;
height:60px;
object-fit:cover;
object-position:50% 48%;
filter:grayscale(1) contrast(6) brightness(1.5)
}
.desktop-nav{
display:flex;
gap:32px;
margin-left:auto;
font-size:14px;
font-weight:700
}
.desktop-nav a{
text-decoration:none;
padding:12px 0
}
.desktop-nav a:hover{
color:var(--blue)
}
.language{
display:flex;
align-items:center;
gap:7px;
font-size:14px;
font-weight:800;
flex-shrink:0
}
.language a,.language>span:first-child{
display:grid;
place-items:center;
min-width:36px;
min-height:48px
}
.language a{
text-decoration:none
}
.language>span[aria-current]{
color:var(--blue)
}
.lang-separator{
color:#8b919d;
font-weight:400
}
.section-pad{
padding:90px var(--gutter)
}
.button{
display:inline-flex;
justify-content:center;
align-items:center;
gap:30px;
min-height:54px;
padding:14px 25px;
border:1px solid var(--blue);
border-radius:4px;
background:var(--blue);
color:#fff;
font-weight:800;
text-decoration:none;
line-height:1.3;
transition:background .2s,transform .2s
}
.button:hover{
background:var(--deep);
transform:translateY(-2px)
}
.button svg{
width:22px;
height:22px
}
.button-light{
color:var(--blue);
background:var(--white);
border-color:var(--white)
}
.button-light:hover{
background:var(--yellow);
border-color:var(--yellow);
color:var(--deep)
}
.button-outline{
color:var(--blue);
background:transparent
}
.button-outline:hover{
color:white;
background:var(--blue)
}
.text-link{
display:inline-flex;
align-items:center;
justify-content:space-between;
gap:25px;
min-height:48px;
font-weight:800;
color:var(--blue);
text-decoration:none;
border-bottom:1px solid currentColor
}
.text-link:hover svg{
transform:translateX(3px)
}
.text-link svg{
transition:transform .2s
}
.hero-intro{
position:relative;
isolation:isolate;
overflow:hidden;
padding:55px var(--gutter) 50px
}
.hero-intro h1{
max-width:1000px;
color:var(--blue);
position:relative;
z-index:1
}
.hero-message{
margin-top:28px;
max-width:680px;
font-size:clamp(18px,2.2vw,24px);
line-height:1.55;
position:relative;
z-index:1
}
.lemon-branch{
animation:lemon-settle .8s cubic-bezier(.16,1,.3,1);
transform-origin:85% 5%;
position:absolute;
right:0;
top:-18px;
width:clamp(130px,23vw,330px);
height:auto;
z-index:-1;
pointer-events:none
}
.hero-button{
margin-top:28px;
position:relative;
z-index:1
}
.hero-photo{
position:relative;
height:clamp(270px,34vw,490px);
overflow:hidden
}
.hero-photo img{
width:100%;
height:100%;
object-fit:cover;
object-position:50% 46%;
animation:photo-unfold .75s cubic-bezier(.16,1,.3,1)
}
.photo-label{
position:absolute;
right:var(--gutter);
bottom:20px;
padding:5px 11px;
background:#fff;
color:var(--ink);
font-size:12px;
font-weight:700
}
.address-strip{
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
padding:18px var(--gutter);
background:var(--yellow);
color:var(--deep)
}
.address-strip a{
display:flex;
align-items:center;
gap:16px;
text-decoration:none;
min-height:48px;
font-size:16px;
font-weight:800;
line-height:1.4
}
.address-strip>a>svg:last-child{
display:none
}
.address-strip .strip-menu{
border-bottom:1px solid currentColor;
gap:25px
}
.section-heading{
display:grid;
grid-template-columns:1.2fr 1fr;
align-items:start;
gap:70px;
margin-bottom:44px
}
.section-heading h2{
color:var(--blue)
}
.section-heading p{
font-size:18px;
line-height:1.7
}
.menu-preview-inner{
display:grid;
grid-template-columns:1.2fr 1fr;
gap:70px;
align-items:start
}
.preview-categories{
display:flex;
flex-wrap:wrap;
gap:20px;
border-bottom:1px solid var(--line);
padding-bottom:12px;
font-size:14px;
font-weight:800;
color:var(--blue)
}
.preview-categories a{
padding:8px 0;
text-decoration:none
}
.preview-categories a:first-child{
border-bottom:3px solid var(--blue)
}
.menu-item{
padding:21px 0;
border-bottom:1px solid var(--line)
}
.item-line{
display:flex;
align-items:baseline;
justify-content:space-between;
gap:18px
}
.menu-item h3{
font-size:23px;
color:var(--ink);
line-height:1.25;
letter-spacing:-.025em;
max-width:43ch
}
.price{
font-family:var(--display);
font-size:22px;
line-height:1.3;
font-weight:700;
white-space:nowrap;
color:var(--blue)
}
.menu-item p{
font-size:14px;
line-height:1.65;
color:var(--muted);
margin-top:7px;
max-width:65ch
}
.menu-preview .text-link{
margin-top:24px
}
.preview-pasta{
height:550px;
overflow:hidden;
border-radius:50% 50% 0 0
}
.preview-pasta img{
width:100%;
height:100%;
object-fit:cover
}
.story-band{
background:var(--blue);
color:var(--white);
padding:75px var(--gutter);
display:grid;
grid-template-columns:1.2fr 1fr;
gap:70px;
align-items:center
}
.story-band p{
font-size:18px;
line-height:1.75;
margin-bottom:28px
}
.space-section{
display:grid;
grid-template-columns:1.15fr 1fr;
align-items:stretch
}
.space-photo{
overflow:hidden;
min-height:470px
}
.space-photo img{
height:100%;
width:100%;
object-fit:cover
}
.space-copy{
padding:70px 12%;
display:flex;
flex-direction:column;
justify-content:center;
align-items:flex-start
}
.space-copy h2{
color:var(--blue)
}
.space-copy p{
margin:26px 0;
font-size:18px
}
.visit-section{
display:grid;
grid-template-columns:1fr 1fr;
gap:100px;
align-items:center
}
.visit-section h2{
color:var(--blue)
}
.visit-section>div>p{
margin-top:26px;
font-size:18px
}
.visit-section address{
font-style:normal;
font-weight:700;
margin-top:26px;
line-height:1.9
}
.directions-panel{
background:var(--yellow);
padding:42px;
display:flex;
flex-direction:column;
align-items:flex-start;
gap:22px
}
.directions-panel>svg{
width:35px;
height:35px;
color:var(--blue)
}
.directions-panel h3{
font-size:38px;
color:var(--blue)
}
.directions-panel h3 span{
font-size:70px
}
.directions-panel .button{
width:100%
}
.directions-panel .text-link{
align-self:center;
font-size:14px
}
.booking{
background:#f0f4fc;
text-align:center;
padding-top:66px;
padding-bottom:66px
}
.booking h2{
color:var(--blue)
}
.booking p{
margin:22px auto 28px;
font-size:18px
}
.booking-links{
display:flex;
justify-content:center;
gap:16px;
flex-wrap:wrap
}
.site-footer{
background:var(--deep);
color:#fff;
padding:55px var(--gutter) 32px
}
.footer-name{
font-family:var(--display);
font-size:35px;
font-weight:700;
letter-spacing:-.035em;
text-decoration:none
}
.footer-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
flex-wrap:wrap
}
.footer-top p{
font-size:14px;
max-width:250px
}
.footer-top>a:last-child{
font-size:14px;
overflow-wrap:anywhere
}
.footer-social{
display:flex;
flex-wrap:wrap;
gap:28px;
margin-top:27px;
font-size:14px
}
.footer-social a{
padding:8px 0;
text-decoration:none
}
.footer-bottom{
border-top:1px solid #5674ac;
margin-top:28px;
padding-top:22px;
display:flex;
justify-content:space-between;
gap:18px;
font-size:12px
}
.demo-note{
font-size:11px;
color:#dce5f8;
margin-top:18px;
line-height:1.6
}
.mobile-actions{
display:none
}
.menu-page-intro{
padding:38px var(--gutter) 24px;
max-width:1100px;
margin:auto
}
.back-link{
font-size:13px;
font-weight:700;
display:inline-block;
min-height:38px;
text-decoration:none;
color:var(--blue)
}
.menu-page-intro h1{
margin-top:16px;
color:var(--blue);
font-size:clamp(48px,7vw,85px)
}
.menu-page-intro>p{
margin-top:20px;
font-size:18px;
max-width:680px
}
.menu-search{
margin-top:28px;
max-width:640px
}
.menu-search label{
display:block;
font-size:13px;
font-weight:800;
margin-bottom:8px
}
.search-field{
position:relative;
display:flex;
align-items:center;
gap:12px;
border:1px solid #8d9bb4;
padding:0 16px;
border-radius:4px;
background:#fff
}
.search-field>svg{
color:var(--blue);
width:21px;
height:21px
}
.search-field input{
width:100%;
height:54px;
border:0;
color:var(--ink);
background:transparent;
outline-offset:3px;
font-size:16px;
padding:0
}
.search-field input::placeholder{
color:#687487
}
.search-field input:disabled{
opacity:.55
}
.search-field input::-webkit-search-cancel-button{
display:none
}
.search-clear{
background:transparent;
border:0;
color:var(--blue);
padding:12px;
min-width:44px;
min-height:44px;
cursor:pointer
}
.search-status{
font-size:12px!important;
color:var(--muted);
margin-top:12px!important
}
.category-nav{
position:sticky;
top:93px;
z-index:4;
display:flex;
align-items:center;
gap:28px;
padding:10px var(--gutter);
background:#fff;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
overflow-x:auto;
scrollbar-width:thin
}
.category-nav a{
display:block;
flex-shrink:0;
padding:12px 0;
color:var(--blue);
font-weight:800;
font-size:14px;
text-decoration:none;
white-space:nowrap;
border-bottom:3px solid transparent
}
.category-nav a:hover,.category-nav a.active{
border-color:var(--blue)
}
.menu-layout{
max-width:1320px;
margin:auto;
padding:50px var(--gutter) 80px;
display:grid;
grid-template-columns:minmax(0,1fr) 280px;
gap:80px
}
.menu-section{
scroll-margin-top:180px;
margin-bottom:52px
}
.menu-section h2{
font-size:36px;
color:var(--blue);
padding-bottom:12px;
border-bottom:2px solid var(--blue)
}
.menu-aside{
align-self:start;
position:sticky;
top:180px;
background:#f0f4fc;
padding:26px;
font-size:14px;
line-height:1.7
}
.cover-charge{
display:flex;
justify-content:space-between;
align-items:center;
gap:10px;
border-bottom:1px solid #c5d0e6;
padding-bottom:20px;
margin-bottom:25px;
font-size:14px
}
.cover-charge strong{
white-space:nowrap;
color:var(--blue)
}
.menu-aside h2{
font-size:25px;
color:var(--blue);
margin-bottom:17px
}
.menu-aside p+p{
margin-top:18px
}
.source-note{
font-size:12px
}
.original-menu{
border-top:1px solid #c5d0e6;
margin-top:24px
}
.original-menu summary{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:18px 0;
min-height:55px;
cursor:pointer;
font-weight:700;
color:var(--blue);
list-style:none
}
.original-menu summary::-webkit-details-marker{
display:none
}
.original-menu summary svg{
width:18px;
height:18px;
transition:transform .2s
}
.original-menu[open] summary svg{
transform:rotate(45deg)
}
.original-menu>div{
display:grid;
gap:8px;
margin-bottom:24px
}
.original-menu a{
padding:7px 0
}
.menu-aside>.button{
margin-top:22px;
width:100%;
gap:12px;
padding:12px
}
.empty-results{
padding:35px 0;
font-size:18px
}
.menu-content{
min-width:0
}

@keyframes photo-unfold{
from{
clip-path:inset(0 0 8% 0)
}
to{
clip-path:inset(0)
}

}

@media(min-width:1500px){
.hero-intro{
padding-top:70px;
padding-bottom:65px
}
.lemon-branch{
right:5%
}
.menu-preview-inner,.section-heading,.story-band,.space-section,.visit-section{
max-width:1600px;
margin-left:auto;
margin-right:auto
}
.hero-photo{
max-height:470px
}

}

@media(max-width:1000px){
.desktop-nav{
gap:22px
}
.brand,.brand img{
width:210px
}
.section-heading,.menu-preview-inner,.story-band{
gap:35px
}
.visit-section{
gap:45px
}
.menu-layout{
gap:35px;
grid-template-columns:minmax(0,1fr) 250px
}
.preview-pasta{
height:480px
}
.space-copy{
padding:45px 9%
}
.footer-top p{
max-width:none
}
.hero-intro h1{
max-width:780px
}
.lemon-branch{
opacity:.88;
right:-45px;
width:240px
}

}

@media(max-width:700px){
:root{
--gutter:23px
}
body{
padding-bottom:calc(72px + env(safe-area-inset-bottom));
font-size:16px
}
.site-header{
position:relative;
height:auto;
min-height:77px;
padding:10px var(--gutter);
gap:8px
}
.brand,.brand img{
width:212px;
height:54px
}
.desktop-nav{
display:none
}
.language{
gap:1px;
font-size:13px
}
.language a,.language>span:first-child{
min-width:28px
}
.lang-separator{
padding:0 1px
}
.hero-intro{
padding-top:28px;
padding-bottom:28px
}
.hero-intro h1{
font-size:clamp(42px,11.5vw,65px);
max-width:100%;
padding-right:6px;
line-height:1.02
}
.hero-message{
margin-top:22px;
font-size:17px;
line-height:1.65;
max-width:32ch;
padding-right:0
}
.lemon-branch{
width:132px;
top:6px;
right:-10px;
opacity:1;
z-index:-1
}
.hero-button{
min-height:50px;
margin-top:22px;
font-size:15px;
padding:12px 20px;
gap:27px
}
.hero-photo{
height:238px
}
.hero-photo img{
object-position:50% 42%
}
.photo-label{
bottom:12px;
font-size:11px
}
.address-strip{
padding:12px var(--gutter);
gap:0
}
.address-strip>a:first-child{
width:100%;
gap:12px;
font-size:14px;
min-height:42px
}
.address-strip>a>svg:last-child{
display:block;
width:20px;
margin-left:auto
}
.address-strip .strip-menu{
display:none
}
.section-pad{
padding:52px var(--gutter)
}
.section-heading{
display:block;
margin-bottom:26px
}
.section-heading h2{
font-size:39px;
max-width:12ch
}
.section-heading p{
font-size:16px;
margin-top:21px;
line-height:1.75
}
.menu-preview-inner{
display:block
}
.preview-categories{
font-size:13px;
gap:20px;
flex-wrap:nowrap;
overflow-x:auto;
white-space:nowrap
}
.menu-item{
padding:18px 0
}
.menu-item h3{
font-size:21px;
line-height:1.25
}
.price{
font-size:21px
}
.menu-item p{
font-size:14px
}
.item-line{
gap:15px
}
.preview-pasta{
height:310px;
margin-top:36px;
border-radius:46% 46% 0 0
}
.story-band{
display:block;
padding:48px var(--gutter)
}
.story-band h2{
font-size:39px;
margin-bottom:26px
}
.story-band p{
font-size:16px;
margin-bottom:26px
}
.space-section{
display:flex;
flex-direction:column
}
.space-photo{
min-height:0;
height:280px
}
.space-copy{
padding:43px var(--gutter) 46px
}
.space-copy h2{
font-size:39px;
max-width:12ch
}
.space-copy p{
font-size:16px;
margin:22px 0
}
.visit-section{
display:block
}
.visit-section h2{
font-size:39px;
max-width:12ch
}
.visit-section>div>p{
font-size:16px;
margin-top:22px
}
.visit-section address{
font-size:16px
}
.directions-panel{
margin-top:32px;
padding:28px;
gap:20px
}
.directions-panel h3{
font-size:31px
}
.directions-panel h3 span{
font-size:56px
}
.directions-panel .button{
font-size:14px;
padding:14px
}
.directions-panel>svg{
width:30px;
height:30px
}
.booking{
padding-top:44px;
padding-bottom:44px
}
.booking h2{
font-size:36px;
max-width:13ch;
margin:auto
}
.booking p{
font-size:16px;
margin:22px auto
}
.booking-links{
flex-direction:column;
align-items:stretch;
gap:12px
}
.booking-links>.button{
width:100%
}
.site-footer{
padding:38px var(--gutter) 30px
}
.footer-top{
display:block
}
.footer-name{
font-size:33px
}
.footer-top p{
margin-top:13px
}
.footer-top>a:last-child{
display:inline-block;
margin-top:20px;
min-height:40px
}
.footer-social{
gap:25px;
margin-top:15px
}
.footer-bottom{
display:block;
font-size:12px;
padding-top:21px
}
.footer-bottom p+p{
margin-top:10px
}
.demo-note{
font-size:11px;
margin-top:18px
}
.mobile-actions{
display:flex;
position:fixed;
left:0;
right:0;
bottom:0;
z-index:10;
justify-content:space-around;
background:var(--blue);
color:#fff;
padding:8px 5px calc(8px + env(safe-area-inset-bottom));
box-shadow:0 -4px 18px #132e7114
}
.mobile-actions a{
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
gap:4px;
min-height:56px;
flex:1;
text-decoration:none;
font-size:11px;
font-weight:700;
line-height:1.3;
text-align:center
}
.mobile-actions a+a{
border-left:1px solid #5f7cbb
}
.mobile-actions svg{
width:23px;
height:23px
}
.mobile-actions a:focus-visible{
outline-color:var(--yellow);
outline-offset:-4px
}
.menu-page-intro{
padding:25px var(--gutter) 20px
}
.back-link{
font-size:12px
}
.menu-page-intro h1{
font-size:54px;
margin-top:10px
}
.menu-page-intro>p{
font-size:16px;
line-height:1.75;
margin-top:20px
}
.menu-search{
margin-top:25px
}
.menu-search label{
font-size:12px
}
.search-field{
padding:0 12px;
gap:10px
}
.search-field input{
font-size:16px;
min-width:0
}
.search-clear{
padding:8px;
min-width:40px
}
.search-field>svg{
width:19px
}
.category-nav{
top:0;
gap:25px;
padding:3px var(--gutter);
scrollbar-width:none
}
.category-nav::-webkit-scrollbar{
display:none
}
.category-nav a{
font-size:13px;
padding:15px 0
}
.menu-layout{
display:block;
padding:32px var(--gutter) 50px
}
.menu-section{
margin-bottom:42px;
scroll-margin-top:85px
}
.menu-section h2{
font-size:33px;
padding-bottom:16px
}
.menu-page .menu-item h3{
font-size:20px
}
.menu-page .price{
font-size:20px
}
.menu-page .menu-item p{
font-size:14px
}
.menu-aside{
position:static;
margin-top:40px;
padding:24px;
font-size:14px
}
.menu-aside h2{
font-size:28px
}
.menu-aside>.button{
font-size:14px
}
.original-menu summary{
font-size:14px
}
.cover-charge{
font-size:14px
}

}

@media(max-width:359px){
:root{
--gutter:18px
}
.brand,.brand img{
width:180px;
height:50px
}
.hero-intro h1{
font-size:40px
}
.hero-message{
font-size:16px
}
.hero-photo{
height:215px
}
.lemon-branch{
right:-62px
}
.menu-page .item-line{
gap:10px
}
.menu-page .menu-item h3{
font-size:19px
}
.menu-page .price{
font-size:18px
}
.menu-page-intro h1{
font-size:48px
}

}

/* Desktop gets a panorama; the original mobile crop stays intact. */
.hero-photo picture{
position:absolute;
inset:0;
display:block
}
@media(min-width:701px){
.hero-photo{
height:auto;
max-height:none;
aspect-ratio:3/1
}
.hero-photo img{
object-position:center
}
}

/* Uncover the cookbook headline without changing its original line wrapping. */
.hero-intro h1{
animation:headline-uncover .7s cubic-bezier(.16,1,.3,1)
}
@keyframes headline-uncover{
from{clip-path:inset(0 100% 0 0)}
to{clip-path:inset(0)}
}
@keyframes lemon-settle{
from{transform:translate(10px,-6px) rotate(-5deg)}
to{transform:translate(0,0) rotate(0)}
}
.button svg,.mobile-actions a svg{
transition:transform .18s cubic-bezier(.16,1,.3,1)
}
.button:active{
transform:translateY(1px) scale(.98)
}
.mobile-actions a:active svg{
transform:translateY(-3px) scale(.94)
}
@media(hover:hover) and (pointer:fine){
.button:hover svg{transform:translateX(4px)}
.address-strip a svg:last-child{transition:transform .2s cubic-bezier(.16,1,.3,1)}
.address-strip a:hover svg:last-child{transform:translateX(4px)}
}

@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto
}
*,*::before,*::after{
animation:none!important;
transition:none!important
}

}

@media print{
.site-header,.mobile-actions,.menu-search,.category-nav,.site-footer,.back-link{
display:none
}
body{
padding:0;
color:#000
}
.menu-layout{
display:block;
padding:0
}
.menu-aside{
position:static
}
.menu-section{
break-inside:avoid
}
.menu-item p{
color:#222
}
.menu-page-intro{
padding:0 0 20px
}

}


.language a{
min-width:48px
}
.menu-source-brief{
font-size:12px;
line-height:1.65;
color:var(--muted);
margin-top:18px;
max-width:65ch
}
.menu-page-intro>.menu-source-brief{
font-size:12px;
margin-top:16px
}


.search-clear{min-width:48px;min-height:48px;padding:12px}.early-cover{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:12px!important;margin-top:5px!important}.early-cover a{display:inline-flex;align-items:center;min-height:48px;margin-left:12px;color:var(--blue);font-weight:700}.menu-aside{scroll-margin-top:185px}@media(max-width:700px){.menu-page-intro h1{font-size:44px}.menu-aside{scroll-margin-top:90px}}
