:root{--olive:#6a7045;--dark:#4a4e30;--gold:#cfa85e;--cream:#fbfaf6;--ink:#303424;--muted:#6c6e60;--line:#dedfce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 'DM Sans',sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.13}h2{font-size:clamp(35px,4.1vw,59px);letter-spacing:-1.7px}em{font-weight:400;color:var(--olive)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;z-index:500;background:white;padding:15px}.skip:focus{top:0}.topline{background:var(--dark);color:#fff;padding:8px 6%;font-size:11px;letter-spacing:1.3px;display:flex;justify-content:space-between}nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:16px 6%;background:rgba(251,250,246,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:2px;font-family:Georgia,serif}.brand img{border-radius:50%}.brand small{display:block;font:9px/1.8 'DM Sans',sans-serif;letter-spacing:3px}#navlinks{display:flex;gap:30px;align-items:center;font-size:13px}#navlinks>a:not(.button):hover{color:var(--olive)}.nav-toggle{display:none}.button{display:inline-flex;gap:35px;align-items:center;justify-content:center;padding:16px 25px;background:var(--dark);color:white;border:1px solid var(--dark);border-radius:3px;font-size:13px;transition:background .25s,transform .25s}.button:hover{background:var(--olive);transform:translateY(-3px)}.button.small{padding:11px 19px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;border-bottom:1px solid var(--olive);padding:8px 0;transition:gap .25s}.text-link:hover{gap:29px}.hero{max-width:1440px;margin:auto;padding:58px 6% 68px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7%}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;color:var(--olive);margin-bottom:24px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.eyebrow>span{width:22px;height:1px;background:var(--olive)}h1{font-size:clamp(46px,5.2vw,77px);letter-spacing:-2.5px}.hero-copy>p{max-width:410px;color:var(--muted);margin-top:27px;font-size:15px}.actions{display:flex;gap:28px;align-items:center;margin-top:30px}.hero-note{display:flex;gap:17px;align-items:center;margin-top:42px;font-size:11px;line-height:1.6;color:var(--muted)}.star{font-size:40px;color:var(--gold)}.hero-art{position:relative;margin-right:20px;animation:arrive 1s ease both}.hero-art>img{width:100%;max-height:620px;object-fit:cover;object-position:center;border-radius:220px 220px 10px 10px;box-shadow:18px 18px 0 #ecebdc;border:7px solid #eeecdf}.round-badge{position:absolute;right:-42px;top:58%;background:var(--cream);border:1px solid var(--gold);outline:7px solid var(--cream);border-radius:50%;width:132px;height:132px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:9px;letter-spacing:1.5px;transform:rotate(12deg);box-shadow:0 8px 30px #0001}.round-badge i{font:27px Georgia,serif;color:var(--olive);letter-spacing:0}.art-caption{margin-top:35px;font-size:9px;letter-spacing:3px;text-align:center;color:var(--muted)}.hero-copy{animation:arrive .8s ease both}.flavour-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-evenly;align-items:center;gap:20px;padding:23px 5%;font:18px Georgia,serif;color:var(--olive)}.flavour-strip i{color:var(--gold)}.section{max-width:1280px;margin:auto;padding:100px 6%}.story{display:grid;grid-template-columns:.85fr 1fr;gap:11%;align-items:center}.story-art{position:relative;max-width:400px;margin-left:14px}.story-art>img{width:100%;max-height:500px;object-fit:cover;object-position:50% 30%;border-radius:4px;transform:rotate(-3deg);box-shadow:-15px 16px 0 #e9e9db}.paper-note{position:absolute;bottom:30px;right:-35px;background:var(--cream);padding:19px 25px;box-shadow:0 6px 30px #0002;transform:rotate(5deg);font:20px/1.5 Georgia,serif;border:1px solid var(--line)}.story-copy>p{color:var(--muted);margin:24px 0;font-size:14px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);margin-top:35px;padding-top:22px}.values b{display:block;font-size:11px;color:var(--olive)}.values span{font-size:11px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}.section-head>p{font-size:13px;color:var(--muted);max-width:340px}.favourites{padding-top:30px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.food-image{position:relative;overflow:hidden;border-radius:160px 160px 5px 5px;background:#e5e2d1}.food-image>img{width:100%;height:300px;object-fit:cover;transition:transform .7s}.food-card:hover img{transform:scale(1.07)}.food-image>span{position:absolute;bottom:15px;left:15px;background:var(--cream);font-size:8px;letter-spacing:1.4px;padding:7px 12px}.food-info{padding:22px 0}.food-info>span{font-size:9px;color:var(--olive);letter-spacing:1.8px}.food-info h3{font-size:25px;margin:12px 0}.food-info b{float:right;font:20px 'DM Sans',sans-serif;color:var(--olive)}.food-info p{font-size:13px;color:var(--muted)}.menu-section{background:#eeeee4;border-top:1px solid var(--line)}.menu-tools{display:flex;flex-direction:column;gap:23px}.filters{display:flex;flex-wrap:wrap;gap:9px}.filters button{border:1px solid #c7cab6;background:transparent;border-radius:30px;padding:9px 17px;font-size:11px;color:var(--dark);transition:background .25s}.filters button.active,.filters button:hover{background:var(--dark);color:white;border-color:var(--dark)}.search{display:flex;align-items:center;gap:12px;background:var(--cream);border:1px solid #d5d7c8;max-width:390px;padding:8px 16px;border-radius:4px}.search>span{font-size:24px}.search input{width:100%;border:0;background:transparent;padding:4px;color:var(--ink);font-size:13px}.results{font-size:11px;color:var(--muted);margin:24px 0 15px}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px}.menu-card{display:block;text-align:left;background:var(--cream);border:1px solid #d7d9c8;padding:10px;border-radius:5px;color:var(--ink);transition:transform .3s,box-shadow .3s}.menu-card:hover{transform:translateY(-6px);box-shadow:0 16px 25px #30342415}.menu-thumb{position:relative;overflow:hidden}.menu-thumb img{width:100%;aspect-ratio: .667;object-fit:contain;background:#e3e1d3;transition:transform .5s}.menu-card:hover img{transform:scale(1.025)}.menu-thumb .view{position:absolute;bottom:12px;right:12px;background:var(--cream);width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-size:20px}.menu-card .caption{display:flex;justify-content:space-between;gap:10px;padding:14px 4px 7px}.caption strong{font-size:12px}.caption small{font-size:10px;color:var(--olive)}.allergy{display:flex;gap:15px;margin-top:40px;padding-top:25px;border-top:1px solid #d2d4c1;font-size:12px;color:var(--muted)}.allergy>span{font-size:23px;color:var(--olive)}.allergy strong{color:var(--dark)}.invitation{position:relative;overflow:hidden;background:var(--dark);text-align:center;padding:85px 20px;color:var(--cream)}.invitation .eyebrow,.invitation em{color:var(--gold)}.invitation .button{margin-top:35px}.button.light{background:var(--cream);color:var(--dark)}.invitation-star{position:absolute;right:4%;bottom:-90px;font-size:330px;line-height:1;color:#ffffff07;pointer-events:none}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.visit p{margin:25px 0;color:var(--muted);font-size:14px}.visit-card{border:1px solid var(--line);padding:35px;background:#f4f3ea;border-radius:6px}.visit-card span{font-size:9px;letter-spacing:2px;color:var(--olive)}.visit-card h3{font-size:31px;margin-top:13px}.visit-card p{margin:15px 0 25px}.contact-row{padding:15px 0;border-top:1px solid var(--line)}.contact-row a{display:block;font-size:14px;margin-top:5px;overflow-wrap:anywhere}.visit-card .hours-note{font-size:11px;margin:15px 0 0}footer{border-top:1px solid var(--line);padding:40px 6% 22px}footer>p{font:italic 14px Georgia,serif;color:var(--muted);margin:20px 0 35px}footer>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}dialog{padding:0;border:0;border-radius:8px;background:var(--cream);color:var(--ink);width:min(1050px,96vw);max-height:94dvh}dialog::backdrop{background:#141b10dc;backdrop-filter:blur(8px)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid var(--line)}.viewer-bar .eyebrow{font-size:8px;margin-bottom:5px}.viewer-bar h2{font-size:23px;letter-spacing:0}.viewer-bar button{background:transparent;border:1px solid var(--line);border-radius:50%;width:38px;height:38px}.viewer-stage{height:68dvh;overflow:auto;background:#ddded3;padding:12px;text-align:center}.viewer-stage img{height:100%;width:auto;max-width:100%;object-fit:contain;margin:auto}.viewer-stage.zoomed img{height:auto;width:100%;max-width:none}.viewer-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:14px;flex-wrap:wrap;font-size:11px}.viewer-controls button{border:1px solid var(--line);padding:8px 12px;border-radius:4px;background:white;color:var(--dark)}body.modal-open{overflow:hidden}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s,transform .75s}.js .reveal.visible{opacity:1;transform:translateY(0)}@keyframes arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1000px){.food-card:nth-child(2){transition-delay:.1s}.food-card:nth-child(3){transition-delay:.2s}}@media(max-width:900px){#navlinks{gap:18px}.hero{gap:5%;padding:45px 5%}.hero h1{font-size:53px}.round-badge{width:105px;height:105px;right:-20px}.hero-art{margin-right:15px}.section{padding:70px 5%}.story{gap:7%}.story-art{margin-left:0}.menu-grid{grid-template-columns:repeat(3,1fr)}.food-image>img{height:250px}.food-info h3{font-size:22px}.favourites{padding-top:20px}}@media(max-width:650px){html{scroll-padding-top:83px}.topline{font-size:8px;padding:7px 5%;letter-spacing:.7px}nav{padding:12px 5%}.brand{font-size:15px}.brand img{width:43px;height:43px}.nav-toggle{display:block;background:transparent;border:1px solid var(--line);border-radius:4px;width:40px;height:40px}#navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:24px 6%;border-bottom:1px solid var(--line);align-items:stretch}#navlinks.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;padding:45px 6% 38px;gap:35px}.hero h1{font-size:clamp(42px,10.8vw,65px);letter-spacing:-1.8px}.hero-copy>p{font-size:14px;margin-top:22px}.hero-note{margin-top:24px}.actions{gap:22px}.hero-art{width:78%;max-width:350px;margin:auto}.hero-art>img{max-height:410px}.round-badge{right:-30px}.art-caption{margin-top:26px}.flavour-strip{padding:17px 5%;font-size:12px;flex-wrap:wrap;gap:10px 20px}.flavour-strip i:last-child{display:none}.section{padding:58px 6%}.story{grid-template-columns:1fr;gap:50px}.story-art{width:70%;margin:auto}.story-art>img{max-height:330px}.paper-note{font-size:17px;right:-30px}.story-copy h2{font-size:38px}.values{gap:10px}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.eyebrow{font-size:9px;margin-bottom:18px}.food-grid{grid-template-columns:1fr;gap:25px}.food-image{border-radius:100px 100px 5px 5px}.food-image>img{height:300px}.food-info{padding:20px 0}.food-info h3{font-size:27px}.menu-grid{grid-template-columns:repeat(2,1fr);gap:16px 10px}.menu-card{padding:6px}.caption strong{font-size:11px}.menu-card .caption{padding:10px 2px 5px}.caption small{font-size:9px}.filters{gap:7px}.filters button{padding:8px 12px;font-size:10px}.invitation{padding:65px 6%}.invitation h2{font-size:38px}.visit{grid-template-columns:1fr;gap:35px}.visit-card{padding:25px}.viewer-bar{padding:12px}.viewer-bar h2{font-size:20px}.viewer-stage{height:65dvh;padding:5px}.viewer-controls{gap:9px;padding:10px}.viewer-controls button{padding:8px}.viewer-controls #original{width:100%;text-align:center;order:6}footer{padding:30px 6% 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Menu gallery: natural image proportions, generous cards and clear labels. */
.menu-section{background:linear-gradient(180deg,#eeeee4,#f4f3ea)}
.menu-section .section{max-width:1440px}
.menu-tools{background:var(--cream);padding:22px;border:1px solid var(--line);border-radius:12px;gap:18px}
.filters button{font-size:12px;padding:10px 18px}
.search{max-width:100%;width:100%;background:#f4f3ea;border-radius:7px}
.search input{font-size:14px;padding:7px 0}
.results{margin:27px 0 20px;font-size:12px}
.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.menu-card{min-width:0;padding:0;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #30342405;transition:transform .3s,box-shadow .3s,border-color .3s}
.menu-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px #30342418;border-color:var(--gold)}
.menu-thumb{line-height:0;background:#e6e4d8}
.menu-thumb img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;margin:0;max-width:100%}
.menu-thumb .view{width:auto;height:auto;line-height:1.4;bottom:16px;right:16px;border-radius:30px;padding:10px 15px;font-size:11px;font-weight:600;box-shadow:0 4px 15px #0002;transition:background .2s,color .2s}
.menu-card:hover .view{background:var(--dark);color:white}
.menu-meta{display:flex;justify-content:space-between;gap:10px;padding:20px 20px 0;align-items:center}
.menu-meta>span{display:inline-block;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--olive);background:#e9ecdE;padding:4px 9px;border-radius:4px;font-weight:700}
.menu-meta small{font-size:9px;letter-spacing:1.3px;color:var(--muted)}
.menu-card .caption{padding:12px 20px 22px;align-items:start;min-height:72px}
.caption strong{font:500 23px/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.4px}
.caption>span{font-size:20px;line-height:1.4;color:var(--olive)}
@media(max-width:1000px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.caption strong{font-size:22px}}
@media(max-width:650px){.menu-tools{padding:16px}.filters{gap:8px}.filters button{font-size:11px;padding:8px 12px}.menu-grid{grid-template-columns:1fr;gap:26px}.menu-card{max-width:440px;width:100%;margin-inline:auto}.menu-meta{padding:18px 18px 0}.menu-card .caption{padding:12px 18px 20px;min-height:0}.caption strong{font-size:25px}.menu-thumb .view{bottom:14px;right:14px;font-size:12px}.results{font-size:11px}}

.qr-connect{border-top:1px solid var(--line);margin-top:15px;padding-top:25px}.qr-connect h3{font-size:24px}.qr-connect>p{font-size:12px;margin:12px 0 20px}.qr-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.qr-link{display:block;min-width:0;background:var(--cream);border:1px solid var(--line);padding:15px;border-radius:9px;transition:transform .25s,border-color .25s,box-shadow .25s}.qr-link:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 10px 22px #30342415}.qr-link img{width:100%;height:auto;background:#fff;border-radius:5px}.qr-link>span{display:block;color:var(--dark);font-size:14px;letter-spacing:0;margin-top:12px;font-weight:700}.qr-link b{float:right;font-weight:400}.qr-link small{display:block;font-size:10px;overflow-wrap:anywhere;color:var(--muted);margin-top:3px}@media(max-width:400px){.qr-cards{gap:10px}.qr-link{padding:10px}.qr-link>span{font-size:12px}}
