 .cover-logo { background:var(--dark); border:2px solid var(--brown); border-radius:10px; display:block; height:105px; object-fit:contain; width:130px; }
@media (max-width:700px) {
	.menu-header-actions { align-items:flex-end; }
	.pdf-link { font-size:9px; }
	.final-menu-note { align-items:flex-start; flex-direction:column; gap:8px; }
	.final-menu-note a { margin-left:0; }
	.final-menu-note strong { font-size:15px; }
}
:root { --cream:#fbf4df; --paper:#fffaf0; --yellow:#f2be38; --green:#1e4a35; --dark:#171813; --brown:#5b2e22; --line:rgba(91,46,34,.2); }
* { box-sizing:border-box; } body { background:radial-gradient(circle at 15% 15%,#fff7dc 0,#fbf4df 42%,#ead19a 100%); color:var(--dark); font-family:'DM Sans',sans-serif; margin:0; min-height:100vh; } a { color:inherit; text-decoration:none; } button { font:inherit; }
.menu-header { align-items:center; display:flex; justify-content:space-between; margin:auto; max-width:1260px; padding:27px 32px; }.back-link { color:var(--green); font-size:11px; font-weight:bold; letter-spacing:1px; text-transform:uppercase; }.menu-brand { align-items:center; display:flex; }.menu-brand img { background:var(--dark); border:2px solid var(--yellow); border-radius:8px; display:block; height:55px; object-fit:contain; width:68px; }.menu-header-actions { align-items:flex-end; display:flex; flex-direction:column; gap:8px; }.pdf-link { border-bottom:1px solid var(--brown); color:var(--brown); font-size:10px; font-weight:bold; letter-spacing:1px; padding-bottom:3px; text-transform:uppercase; }.pure-veg { color:var(--green); font-size:11px; font-weight:bold; letter-spacing:1px; text-transform:uppercase; }.pure-veg:first-letter { color:#278449; }
.menu-book-wrap { margin:auto; max-width:1150px; padding:30px 32px 70px; }.menu-intro { align-items:end; display:flex; justify-content:space-between; margin-bottom:37px; }.eyebrow { color:var(--green); font-size:10px; font-weight:bold; letter-spacing:2px; text-transform:uppercase; }.menu-intro h1 { color:var(--brown); font-family:'Playfair Display',serif; font-size:clamp(42px,6vw,74px); letter-spacing:-2px; line-height:.92; margin:14px 0 0; }.menu-intro h1 em { color:var(--green); }.menu-intro>p:last-child { color:#6c6049; font-size:14px; line-height:1.6; max-width:260px; }
.final-menu-note { align-items:center; background:rgba(242,190,56,.3); border-left:4px solid var(--green); display:flex; gap:18px; margin:-8px 0 28px; padding:14px 18px; }.final-menu-note span { color:var(--green); font-size:9px; font-weight:bold; letter-spacing:1.5px; text-transform:uppercase; }.final-menu-note strong { color:var(--brown); font-family:'Playfair Display',serif; font-size:16px; }.final-menu-note a { border-bottom:1px solid var(--green); color:var(--green); font-size:11px; font-weight:bold; margin-left:auto; padding-bottom:3px; }
.book-stage { perspective:2200px; }.book { height:650px; margin:auto; max-width:830px; position:relative; transform-style:preserve-3d; width:100%; }.menu-page { background:#fff8d2; border:1px solid rgba(91,46,34,.22); box-shadow:12px 18px 40px rgba(91,46,34,.15); height:100%; left:0; overflow:hidden; padding:47px 64px; position:absolute; top:0; transform-origin:left center; transition:transform .85s cubic-bezier(.65,.05,.36,1), box-shadow .85s ease; width:100%; }.menu-page:before { border:1px solid rgba(30,74,53,.22); content:''; inset:15px; pointer-events:none; position:absolute; }.menu-page:after { background:linear-gradient(90deg,rgba(91,46,34,.1),transparent 14%); content:''; inset:0; pointer-events:none; position:absolute; }.menu-page:nth-child(2) { z-index:5; }.menu-page:nth-child(3) { z-index:4; }.menu-page:nth-child(4) { z-index:3; }.menu-page:nth-child(5) { z-index:2; }.menu-page.flipped { box-shadow:-8px 12px 28px rgba(91,46,34,.1); transform:rotateY(-180deg); }.cover-page { align-items:center; background:var(--yellow); color:var(--green); display:flex; flex-direction:column; justify-content:center; text-align:center; }.cover-page:before { border:1px solid rgba(91,46,34,.4); content:''; inset:22px; position:absolute; }.cover-page h2 { color:var(--brown); font-family:'Playfair Display',serif; font-size:clamp(63px,8vw,100px); letter-spacing:-4px; line-height:.82; margin:22px 0; position:relative; }.cover-page h2 em { color:var(--green); }.cover-mark { color:var(--brown); font-family:Georgia,serif; font-size:20px; letter-spacing:4px; margin:0; }.cover-page .light { color:var(--green); }.cover-note { border-top:1px solid rgba(91,46,34,.4); color:var(--brown); font-family:'Playfair Display',serif; font-size:17px; font-style:italic; line-height:1.4; padding-top:22px; }.page-top { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding-bottom:13px; }.page-top .eyebrow { margin:0; }.page-top .eyebrow:before { color:var(--green); content:'❧'; font-size:16px; margin-right:7px; }.page-top>span { color:#93795a; font-size:10px; font-style:italic; }.menu-page h2 { color:var(--brown); font-family:'Playfair Display',serif; font-size:51px; letter-spacing:-2px; line-height:.86; margin:27px 0 30px; }.menu-page h2 em { color:var(--green); }.item-grid { display:grid; gap:22px 30px; grid-template-columns:1fr 1fr; }.menu-item { border-bottom:1px solid rgba(91,46,34,.18); padding-bottom:12px; }.menu-item h3 { align-items:center; color:var(--brown); display:flex; font-family:'Playfair Display',serif; font-size:20px; gap:8px; margin:0 0 5px; }
.menu-mini-icon { display:block; height:18px; width:18px; object-fit:contain; }.menu-item p { color:#544d3d; font-size:12px; line-height:1.4; margin:0; }.menu-item small { color:var(--green); display:block; font-size:10px; line-height:1.35; margin-top:5px; }.compact { gap:13px 25px; }.compact .menu-item { padding-bottom:8px; }.compact .menu-item h3 { font-size:17px; }.compact .menu-item p { font-size:10px; }.compact .menu-item small { font-size:9px; }.page-number { bottom:26px; color:#a18a6a; font-size:10px; letter-spacing:2px; position:absolute; right:62px; }
.book-controls { align-items:center; display:flex; gap:28px; justify-content:center; margin-top:36px; }.book-button { background:var(--green); border:0; border-radius:50%; color:var(--cream); cursor:pointer; font-size:21px; height:43px; transition:background .2s,transform .2s; width:43px; }.book-button:hover:not(:disabled) { background:var(--brown); transform:scale(1.08); }.book-button:disabled { cursor:not-allowed; opacity:.3; }.progress { align-items:center; color:var(--brown); display:flex; font-family:'Playfair Display',serif; font-size:16px; gap:12px; }.progress i { background:var(--brown); display:block; height:1px; width:70px; }.flip-hint { color:#85755d; font-size:11px; font-style:italic; margin-top:19px; text-align:center; }
@media (min-width:901px) { .menu-book-wrap { max-width:1230px; padding-left:36px; padding-right:36px; }.menu-intro h1 { font-size:clamp(58px,4.4vw,88px); }.book { height:780px; max-width:1040px; }.menu-page { padding:34px 48px 42px; }.menu-page h2 { font-size:46px; line-height:.84; margin:20px 0 24px; }.item-grid { gap:12px 24px; }.menu-item { padding-bottom:10px; }.menu-item h3 { font-size:18px; }.menu-item p { font-size:11px; }.menu-item small { font-size:9px; }.compact { gap:10px 18px; }.compact .menu-item { padding-bottom:8px; }.compact .menu-item h3 { font-size:15px; line-height:1.15; letter-spacing:-.02em; overflow-wrap:anywhere; word-break:break-word; }.compact .menu-item p { font-size:9.3px; line-height:1.35; }.page-number { right:46px; } }
@media (max-width:700px) { .menu-header { padding:19px 20px; }.pure-veg { display:none; }.menu-book-wrap { padding:38px 16px 55px; }.menu-intro { align-items:start; display:block; }.menu-intro>p:last-child { margin-top:24px; }.book { height:620px; }.menu-page { padding:22px 18px 26px; }.menu-page h2 { font-size:30px; line-height:.9; margin:14px 0 18px; }.page-top { align-items:flex-start; flex-wrap:wrap; gap:6px; padding-bottom:10px; }.page-top .eyebrow { font-size:8px; letter-spacing:1px; line-height:1.4; }.page-top .eyebrow:before { font-size:10px; margin-right:5px; }.page-top>span { font-size:8px; }.item-grid { gap:8px 12px; }.menu-item { padding-bottom:8px; }.menu-item h3 { font-size:15px; gap:4px; line-height:1.15; }.menu-item p { font-size:9.5px; line-height:1.35; }.menu-item small { font-size:8.4px; line-height:1.35; }.compact { gap:8px 12px; }.compact .menu-item { padding-bottom:7px; }.compact .menu-item h3 { font-size:12.5px; line-height:1.18; letter-spacing:-.02em; overflow-wrap:anywhere; word-break:break-word; }.compact .menu-item p { font-size:8.7px; line-height:1.3; }.menu-mini-icon { height:14px; width:14px; }.page-number { bottom:16px; right:18px; }.cover-page h2 { font-size:52px; } }
.full-catalogue { border-top:1px solid var(--line); margin:90px auto 0; max-width:1000px; padding-top:55px; }.catalogue-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:32px; }.catalogue-heading .eyebrow { margin:0 0 12px; }.catalogue-heading h2 { color:var(--brown); font-family:'Playfair Display',serif; font-size:52px; letter-spacing:-2px; line-height:.9; margin:0; }.catalogue-heading h2 em { color:var(--green); }.catalogue-heading>p:last-child { color:#77664e; font-size:12px; margin:0 0 4px; }.catalogue-grid { display:grid; gap:18px; grid-template-columns:repeat(2,1fr); }.catalogue-section { background:rgba(255,248,210,.72); border:1px solid rgba(91,46,34,.16); padding:22px 23px; }.catalogue-section h3 { border-bottom:2px solid var(--yellow); color:var(--green); font-family:'Playfair Display',serif; font-size:22px; margin:0 0 10px; padding-bottom:9px; }.catalogue-items span { align-items:baseline; border-bottom:1px dotted rgba(91,46,34,.22); color:#4f4839; display:flex; font-size:12px; justify-content:space-between; gap:15px; padding:7px 0; }.catalogue-items span:last-child { border-bottom:0; }.catalogue-items b { color:var(--brown); font-size:12px; white-space:nowrap; }
@media (max-width:700px) { .full-catalogue { margin-top:65px; padding-top:40px; }.catalogue-heading { align-items:start; display:block; }.catalogue-heading h2 { font-size:43px; }.catalogue-heading>p:last-child { margin-top:18px; }.catalogue-grid { grid-template-columns:1fr; }.catalogue-section { padding:18px; }.catalogue-section h3 { font-size:20px; }.catalogue-items span { font-size:11px; } }