@font-face{font-family:Lora;src:url('./assets/lora-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
:root{--green:#254b3b;--cream:#f8f7f3;--paper:#efeee7;--gold:#a27e3b;--ink:#353e37;--white:#fffefa;--sage:#e2e8df;--margin:24px;--display:Lora,Georgia,serif;--body:Arial,Helvetica,sans-serif;--radius-control:10px;--radius-photo:16px;--radius-section:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.6 var(--body);padding-bottom:92px}img{display:block;width:100%;height:auto}picture{display:block}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a:hover{text-decoration-thickness:2px}button,a{touch-action:manipulation}a:active,button:active{transform:translateY(1px)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.13;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(34px,9.7vw,44px)}h2{font-size:clamp(30px,8.3vw,38px)}h3{font-size:26px}p{text-wrap:pretty}p+p{margin-top:16px}section{scroll-margin-top:24px}.wrap{width:min(100%,1440px);margin-inline:auto}.pad{padding-inline:var(--margin)}.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:52px;padding:12px 22px;background:var(--green);color:var(--cream);font-weight:600;text-decoration:none;border:0;border-radius:0;transition:transform .18s ease}.button:hover{transform:translateY(-2px)}.button.light{background:var(--cream);color:var(--green)}.skip{position:absolute;left:16px;top:-100px;padding:12px;background:var(--green);color:var(--cream);z-index:20}.skip:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:18px var(--margin);gap:16px}.brand{display:block;min-height:44px;align-content:center;width:134px;flex-shrink:0}.brand img{aspect-ratio:1537/559;object-fit:contain}.site-nav{display:flex;align-items:center;gap:20px}.site-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:16px}.site-nav .desktop{display:none}.hero{position:relative;isolation:isolate;overflow:hidden}.hero-copy{padding:25px var(--margin) 30px;position:relative}.hero-copy p{max-width:40ch;margin:20px 0}.hero-copy h1{max-width:14ch}.hero-copy .button{min-width:145px}.hero-media{overflow:hidden;position:relative}.hero-media img{aspect-ratio:4/5;object-fit:cover;object-position:50% 57%;animation:photo-settle 1.5s ease-out both}.motif{position:absolute;width:230px;height:320px;right:-95px;top:0;opacity:.075;pointer-events:none;z-index:-1}.hero-copy .motif{right:-105px;top:-40px}.intro{padding-block:58px 56px;display:grid;gap:24px;align-items:center}.intro-copy p{margin-top:18px;max-width:53ch}.intro-photo img{aspect-ratio:16/9;object-fit:cover;object-position:50% 40%}.menu{background:var(--paper);padding-block:58px;position:relative;isolation:isolate;overflow:hidden}.section-top{margin-bottom:24px}.section-top p{margin-top:16px;max-width:48ch}.menu .motif{top:-40px;right:-100px;opacity:.08;width:300px;height:400px}.menu-tabs{display:flex;gap:5px;margin:25px 0 28px;flex-wrap:wrap}.menu-tabs a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;text-decoration:none;background:var(--cream);font-size:16px;flex:1;white-space:nowrap}.menu-tabs a[aria-selected=true]{background:var(--green);color:var(--cream)}.menu-panel{margin-bottom:34px}.menu-panel[hidden]{display:none!important}.menu-panel:focus{outline-offset:8px}.dish-photo img{aspect-ratio:4/4.3;object-fit:cover;object-position:center 65%}.dish-copy{padding-top:24px}.dish-copy p{margin-top:14px;max-width:44ch}.menu-foot{margin-top:24px}.menu-foot p{margin-top:12px;font-size:16px;max-width:65ch}.food-pair{display:grid;gap:36px}.food-pair img{aspect-ratio:4/4;object-fit:cover;object-position:50% 65%}.food-pair h3{margin:22px 0 12px}.drink-list{display:grid;gap:28px}.drink-item{display:grid;grid-template-columns:40% 1fr;gap:18px;align-items:center}.drink-item img{aspect-ratio:4/5;object-fit:cover}.drink-item h3{font-size:23px}.drink-item p{font-size:16px;margin-top:10px}.office{padding-block:60px;display:grid;gap:28px}.office-photo img{aspect-ratio:4/4.5;object-fit:cover;object-position:center 57%}.occasion-copy p{margin:20px 0 14px;max-width:43ch}.family{padding-block:0 62px}.family-photo{position:relative;padding-bottom:60px;margin-bottom:25px}.family-photo .room img{aspect-ratio:4/3;object-fit:cover;object-position:50% 45%}.family-photo .food{position:absolute;width:40%;right:var(--margin);bottom:0}.family-photo .food img{aspect-ratio:1;object-fit:cover;object-position:50% 75%;border:7px solid var(--cream)}.family .occasion-copy{padding-inline:var(--margin)}.offer{background:var(--green);color:var(--cream);padding-block:54px;display:grid;gap:28px}.offer-image{overflow:hidden}.offer-image img{aspect-ratio:4/3;object-fit:cover;object-position:50% 64%}.offer h2{max-width:14ch}.offer-main{font:400 23px/1.4 var(--display);margin-top:22px;max-width:28ch}.parking{font-weight:600;margin-top:16px}.offer-secondary{margin-top:24px;font-size:16px;max-width:46ch}.offer-terms{font-size:16px;margin-top:12px;max-width:46ch}.heritage{padding-block:60px 0}.heritage-photo img{aspect-ratio:4/3;object-fit:cover}.heritage-copy{padding:30px var(--margin) 52px}.heritage-copy p{margin-top:20px;max-width:64ch}.source-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;margin-top:12px}.location{padding-block:16px 58px;display:grid;gap:26px}.location .entrance{max-width:260px}.location .entrance img{aspect-ratio:4/4;object-fit:cover;object-position:center 35%}.location h2{margin-bottom:22px}.location address{font-style:normal;max-width:35ch}.location p{margin-top:18px;max-width:44ch}.location .button{margin-top:22px}.booking{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);padding:58px var(--margin)}.booking p{max-width:44ch;margin-top:20px}.booking .button{margin-top:26px}.booking .phone{display:inline-flex;min-height:44px;align-items:center;margin-top:18px;font-weight:600}.booking .motif{width:360px;height:480px;top:35px;right:-170px;opacity:.08}.booking .note{font-size:16px;margin-top:8px}.footer{padding:36px var(--margin) 24px;display:grid;gap:22px}.footer-logo{width:175px}.footer p{font-size:16px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px}.footer-links a{display:flex;align-items:center;min-height:44px;font-size:16px}.mobile-booking{position:fixed;z-index:10;bottom:0;left:0;right:0;background:var(--cream);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));transition:transform .2s ease,visibility .2s}.mobile-booking .button{width:100%}.mobile-booking.is-hidden{visibility:hidden;transform:translateY(110%)}.reveal.in-view{animation:enter .65s cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--delay,0ms)}
@keyframes enter{from{opacity:.7;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-settle{from{transform:scale(1.025);opacity:.85}to{transform:scale(1);opacity:1}}@keyframes batik-in{from{transform:translateX(18px);opacity:0}to{transform:translateX(0);opacity:.075}}.motif{animation:batik-in 1.1s ease both}
@media(min-width:700px){:root{--margin:40px}.brand{width:160px}.site-nav .desktop{display:inline-flex}.hero-copy{padding-block:42px}.hero-copy h1{font-size:60px;max-width:14ch}.hero-copy p{max-width:44ch}.hero-media img{aspect-ratio:16/10}.intro{grid-template-columns:1.15fr 1fr;gap:36px;padding-block:65px}.intro-photo img{aspect-ratio:1}.menu{padding-block:65px}.menu-tabs{max-width:480px}.menu-stage{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center}.dish-copy{padding-top:0}.food-pair{grid-template-columns:1fr 1fr;gap:30px}.food-pair article:last-child{padding-top:50px}.drink-list{grid-template-columns:1.2fr 1fr;gap:25px}.drink-item:first-child{grid-row:span 2;display:block}.drink-item:first-child img{aspect-ratio:4/3;margin-bottom:20px}.drink-item{grid-template-columns:40% 1fr}.office{grid-template-columns:1fr 1fr;align-items:center;gap:45px}.family{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:40px;padding:0 var(--margin) 70px}.family-photo{grid-column:2;grid-row:1;margin:0}.family .occasion-copy{grid-column:1;grid-row:1;padding:0}.family-photo .food{right:0}.offer{grid-template-columns:1fr 1fr;gap:40px;align-items:center}.offer-image img{aspect-ratio:4/5}.heritage-copy{display:grid;grid-template-columns:1fr 1.15fr;gap:35px}.heritage-copy p{margin-top:0}.heritage-photo img{aspect-ratio:16/8}.location{grid-template-columns:.65fr 1fr;gap:45px;align-items:center}.location .entrance{max-width:100%}.location .entrance img{aspect-ratio:4/5}.booking{padding-block:65px}.booking-inner{display:grid;grid-template-columns:1fr 1fr;gap:45px}.booking p{margin-top:0}.booking .note{margin-top:8px}.footer{grid-template-columns:1fr 1fr;align-items:end}.footer-links{justify-content:flex-end}}
@media(min-width:1050px){:root{--margin:64px}body{padding-bottom:0}.site-header{padding-block:22px}.site-nav{gap:32px}.hero{display:grid;grid-template-columns:43% 57%;align-items:stretch}.hero-copy{padding:72px 38px 68px var(--margin);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy h1{font-size:clamp(52px,4.7vw,68px);max-width:13.5ch}.hero-copy p{margin:26px 0 30px}.hero-media img{aspect-ratio:auto;height:100%;min-height:540px;object-position:50% 50%}.hero-copy .motif{top:auto;bottom:-30px;right:-30px;width:270px}.intro{padding-block:85px;grid-template-columns:1fr 1fr;gap:100px}.intro-copy{max-width:510px}.intro-photo img{aspect-ratio:16/9}.intro h2,h2{font-size:48px}.menu{padding-block:80px}.menu-header{display:flex;justify-content:space-between;align-items:end;gap:40px}.menu-tabs{min-width:390px;margin:0 0 28px}.menu-stage{grid-template-columns:1.1fr 1fr;gap:85px}.dish-photo img{aspect-ratio:4/3}.dish-copy h3{font-size:36px}.office{padding-block:85px;gap:95px}.office-photo img{aspect-ratio:1}.family{gap:95px;padding-bottom:85px}.family-photo .room img{aspect-ratio:4/3}.family-photo{padding-bottom:70px}.offer{padding-block:65px;grid-template-columns:1fr 1.1fr;gap:95px}.offer-image img{aspect-ratio:4/3}.offer h2{max-width:17ch}.offer-main{font-size:28px}.heritage{padding-top:85px}.heritage-copy{padding-block:42px 80px;gap:95px}.location{grid-template-columns:.85fr 1.15fr;gap:95px;padding-bottom:85px}.location .entrance{max-width:430px}.location h2{max-width:15ch}.booking{padding-block:75px}.booking-inner{gap:95px}.booking .motif{right:-90px}.footer{padding-block:45px}.mobile-booking{display:none}}
@media(max-width:359px){:root{--margin:20px}.site-header{padding-block:14px}.brand{width:116px}.site-nav{gap:14px}.hero-copy{padding-top:18px}h1{font-size:34px}h2{font-size:30px}.menu-tabs a{padding-inline:8px}.drink-item{grid-template-columns:38% 1fr;gap:14px}.drink-item h3{font-size:21px}}
.footer-logo{display:block}
.heritage-copy>h2,.booking-inner>h2{align-self:start}
.offer-terms a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:700px) and (max-width:1049px){.heritage-copy{padding-bottom:85px}}
@media(max-width:699px){.hero-copy{padding-top:16px;padding-bottom:22px}.hero-copy p{margin:16px 0}.hero-media img{aspect-ratio:1/1.1;object-position:50% 72%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover{transform:none}}
